/*
 * Copyright (c) 2009-2018 ARM Limited. All rights reserved.
 *
 * SPDX-License-Identifier: Apache-2.0
 *
 * Licensed under the Apache License, Version 2.0 (the License); you may
 * not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an AS IS BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *
 * @file     cw32l010.h
 * @brief    CMSIS HeaderFile
 * @version  1.2
 * @date 2024-08-07
 * @note     Generated by SVDConv V3.3.25 on Monday, 26.02.2024 16:28:57
 *           from File 'cw32l010.svd',
 *           last modified on Monday, 26.02.2024 08:28:52
 */



/** @addtogroup Wuhan Xinyuan Semiconductor Co.Ltd
  * @{
  */


/** @addtogroup CW32L010
  * @{
  */


#ifndef __CW32L010_H
#define __CW32L010_H

#ifdef __cplusplus
extern "C" {
#endif


/** @addtogroup Configuration_of_CMSIS
  * @{
  */



/* =========================================================================================================================== */
/* ================                                Interrupt Number Definition                                ================ */
/* =========================================================================================================================== */

typedef enum {
/* =======================================  ARM Cortex-M0+ Specific Interrupt Numbers  ======================================= */
  Reset_IRQn                = -15,              /*!< -15  Reset Vector, invoked on Power up and warm reset                     */
  NonMaskableInt_IRQn       = -14,              /*!< -14  Non maskable Interrupt, cannot be stopped or preempted               */
  HardFault_IRQn            = -13,              /*!< -13  Hard Fault, all classes of Fault                                     */
  SVCall_IRQn               =  -5,              /*!< -5 System Service Call via SVC instruction                                */
  PendSV_IRQn               =  -2,              /*!< -2 Pendable request for system service                                    */
  SysTick_IRQn              =  -1,              /*!< -1 System Tick Timer                                                      */
/* ==========================================  CW32L010 Specific Interrupt Numbers  ========================================== */
  WDT_IRQn                  =   0,              /*!< 0  Watch Dog Timer Interrupt                                              */
  LVD_IRQn                  =   1,              /*!< 1  Low Voltage Detect Interrupt                                           */
  RTC_IRQn                  =   2,              /*!< 2  Real Time Clock Interrupt                                              */
  FLASHRAM_IRQn             =   3,              /*!< 3  Flash/RAM Interrupt                                                    */
  SYSCTRL_IRQn              =   4,              /*!< 4  SYSCTRL Interupt                                                       */
  GPIOA_IRQn                =   5,              /*!< 5  GPIOA Interrupt                                                        */
  GPIOB_IRQn                =   6,              /*!< 6  GPIOB Interrupt                                                        */
  ADC_IRQn                  =  12,              /*!< 12 ADC Interrupt                                                          */
  ATIM_IRQn                 =  13,              /*!< 13 Advanced Timer Interrupt                                               */
  VC1_IRQn                  =  14,              /*!< 14 Voltage Comparator 1 Interrupt                                         */
  VC2_IRQn                  =  15,              /*!< 15 Voltage Comparator 2 Interrupt                                         */
  GTIM1_IRQn                =  16,              /*!< 16 General Timer1 Interrupt                                               */
  LPTIM_IRQn                =  19,              /*!< 19 LPTIM Interrupt                                                        */
  BTIM1_IRQn                =  20,              /*!< 20 Base Timer1 Interrupt                                                  */
  BTIM2_IRQn                =  21,              /*!< 21 Base Timer2 Interrupt                                                  */
  BTIM3_IRQn                =  22,              /*!< 22 Base Timer3 Interrupt                                                  */
  I2C1_IRQn                 =  23,              /*!< 23 I2C1 Interrupt                                                         */
  SPI_IRQn                  =  25,              /*!< 25 SPI Interrupt                                                          */
  UART1_IRQn                =  27,              /*!< 27 UART1 Interrupt                                                        */
  UART2_IRQn                =  28,              /*!< 28 UART2 Interrupt                                                        */
  CLKFAULT_IRQn             =  31               /*!< 31 Clock Fault Interrupt                                                  */
} IRQn_Type;



/* =========================================================================================================================== */
/* ================                           Processor and Core Peripheral Section                           ================ */
/* =========================================================================================================================== */

/* ==========================  Configuration of the ARM Cortex-M0+ Processor and Core Peripherals  =========================== */
#define __CM0PLUS_REV                 0x0001U   /*!< CM0PLUS Core Revision                                                     */
#define __NVIC_PRIO_BITS               2        /*!< Number of Bits used for Priority Levels                                   */
#define __Vendor_SysTickConfig         0        /*!< Set to 1 if different SysTick Config is used                              */
#define __VTOR_PRESENT                 1        /*!< Set to 1 if CPU supports Vector Table Offset Register                     */
#define __MPU_PRESENT                  0        /*!< MPU present                                                               */
#define __FPU_PRESENT                  0        /*!< FPU present                                                               */


/** @} */ /* End of group Configuration_of_CMSIS */

#include "core_cm0plus.h"                       /*!< ARM Cortex-M0+ processor and core peripherals                             */

#ifndef __IM                                    /*!< Fallback for older CMSIS versions                                         */
  #define __IM   __I
#endif
#ifndef __OM                                    /*!< Fallback for older CMSIS versions                                         */
  #define __OM   __O
#endif
#ifndef __IOM                                   /*!< Fallback for older CMSIS versions                                         */
  #define __IOM  __IO
#endif


/* ========================================  Start of section using anonymous unions  ======================================== */
#if defined (__CC_ARM)
  #pragma push
  #pragma anon_unions
#elif defined (__ICCARM__)
  #pragma language=extended
#elif defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050)
  #pragma clang diagnostic push
  #pragma clang diagnostic ignored "-Wc11-extensions"
  #pragma clang diagnostic ignored "-Wreserved-id-macro"
  #pragma clang diagnostic ignored "-Wgnu-anonymous-struct"
  #pragma clang diagnostic ignored "-Wnested-anon-types"
#elif defined (__GNUC__)
  /* anonymous unions are enabled by default */
#elif defined (__TMS470__)
  /* anonymous unions are enabled by default */
#elif defined (__TASKING__)
  #pragma warning 586
#elif defined (__CSMC__)
  /* anonymous unions are enabled by default */
#else
  #warning Not supported compiler type
#endif


/* =========================================================================================================================== */
/* ================                            Device Specific Peripheral Section                             ================ */
/* =========================================================================================================================== */


/** @addtogroup Device_Peripheral_peripherals
  * @{
  */



/* =========================================================================================================================== */
/* ================                                            ADC                                            ================ */
/* =========================================================================================================================== */


/**
  * @brief desc ADC (ADC)
  */

typedef struct {                                /*!< (@ 0x40000000) ADC Structure                                              */

  union {
    __IOM uint32_t CR;                          /*!< (@ 0x00000000) desc CR                                                    */

    struct {
      __IOM uint32_t EN         : 1;            /*!< [0..0] desc EN                                                            */
      __IOM uint32_t BGREN      : 1;            /*!< [1..1] desc BGREN                                                         */
      __IOM uint32_t TSEN       : 1;            /*!< [2..2] desc TSEN                                                          */
      __IOM uint32_t CONT       : 1;            /*!< [3..3] desc CONT                                                          */
      __IOM uint32_t CLK        : 2;            /*!< [5..4] desc CLKSRC                                                        */
      __IOM uint32_t ENS        : 3;            /*!< [8..6] desc ENS                                                           */
    } CR_f;
  } ;
  __IM  uint32_t  RESERVED;

  union {
    __IOM uint32_t START;                       /*!< (@ 0x00000008) desc START                                                 */

    struct {
      __IOM uint32_t START      : 1;            /*!< [0..0] desc START                                                         */
    } START_f;
  } ;
  __IM  uint32_t  RESERVED1;

  union {
    __IOM uint32_t AWDTR;                       /*!< (@ 0x00000010) desc AWDTR                                                 */

    struct {
      __IOM uint32_t VTL        : 12;           /*!< [11..0] desc VTL                                                          */
      __IM  uint32_t            : 4;
      __IOM uint32_t VTH        : 12;           /*!< [27..16] desc VTH                                                         */
    } AWDTR_f;
  } ;
  __IM  uint32_t  RESERVED2;

  union {
    __IOM uint32_t TRIGGER;                     /*!< (@ 0x00000018) desc TRIGGER                                               */

    struct {
      __IOM uint32_t ATIMTRGO   : 1;            /*!< [0..0] desc ATIMTRGO                                                      */
      __IOM uint32_t ATIMTRGO2  : 1;            /*!< [1..1] desc ATIMTRGO2                                                     */
      __IOM uint32_t ATIMCC1    : 1;            /*!< [2..2] desc ATIMCC1                                                       */
      __IOM uint32_t ATIMCC2    : 1;            /*!< [3..3] desc ATIMCC2                                                       */
      __IOM uint32_t ATIMCC3    : 1;            /*!< [4..4] desc ATIMCC3                                                       */
      __IOM uint32_t ATIMCC4    : 1;            /*!< [5..5] desc ATIMCC4                                                       */
      __IOM uint32_t ATIMCC5    : 1;            /*!< [6..6] desc ATIMCC5                                                       */
      __IOM uint32_t ATIMCC6    : 1;            /*!< [7..7] desc ATIMCC6                                                       */
      __IOM uint32_t GTIM1TRGO  : 1;            /*!< [8..8] desc GTIM1TRGO                                                     */
      __IOM uint32_t GTIM1CC1   : 1;            /*!< [9..9] desc GTIM1CC1                                                      */
      __IOM uint32_t GTIM1CC2   : 1;            /*!< [10..10] desc GTIM1CC2                                                    */
      __IOM uint32_t GTIM1CC3   : 1;            /*!< [11..11] desc GTIM1CC3                                                    */
      __IOM uint32_t GTIM1CC4   : 1;            /*!< [12..12] desc GTIM1CC4                                                    */
      __IOM uint32_t BTIM1TRGO  : 1;            /*!< [13..13] desc BTIM1TRGO                                                   */
      __IOM uint32_t BTIM2TRGO  : 1;            /*!< [14..14] desc BTIM2TRGO                                                   */
      __IOM uint32_t BTIM3TRGO  : 1;            /*!< [15..15] desc BTIM3TRGO                                                   */
      __IOM uint32_t SPI1       : 1;            /*!< [16..16] desc SPI1                                                        */
      __IOM uint32_t UART1      : 1;            /*!< [17..17] desc UART1                                                       */
      __IOM uint32_t UART2      : 1;            /*!< [18..18] desc UART2                                                       */
    } TRIGGER_f;
  } ;
  __IM  uint32_t  RESERVED3;

  union {
    __IOM uint32_t AWDCR;                       /*!< (@ 0x00000020) desc AWDCR                                                 */

    struct {
      __IOM uint32_t IN0        : 1;            /*!< [0..0] desc IN0                                                           */
      __IOM uint32_t IN1        : 1;            /*!< [1..1] desc IN1                                                           */
      __IOM uint32_t IN2        : 1;            /*!< [2..2] desc IN2                                                           */
      __IOM uint32_t IN3        : 1;            /*!< [3..3] desc IN3                                                           */
      __IOM uint32_t IN4        : 1;            /*!< [4..4] desc IN4                                                           */
      __IOM uint32_t IN5        : 1;            /*!< [5..5] desc IN5                                                           */
      __IOM uint32_t IN6        : 1;            /*!< [6..6] desc IN6                                                           */
      __IOM uint32_t IN7        : 1;            /*!< [7..7] desc IN7                                                           */
      __IOM uint32_t IN8        : 1;            /*!< [8..8] desc IN8                                                           */
      __IOM uint32_t IN9        : 1;            /*!< [9..9] desc IN9                                                           */
      __IOM uint32_t IN10       : 1;            /*!< [10..10] desc IN10                                                        */
      __IOM uint32_t IN11       : 1;            /*!< [11..11] desc IN11                                                        */
      __IOM uint32_t IN12       : 1;            /*!< [12..12] desc IN12                                                        */
      __IOM uint32_t IN13       : 1;            /*!< [13..13] desc IN13                                                        */
      __IOM uint32_t IN14       : 1;            /*!< [14..14] desc IN14                                                        */
      __IOM uint32_t IN15       : 1;            /*!< [15..15] desc IN15                                                        */
    } AWDCR_f;
  } ;
  __IM  uint32_t  RESERVED4;

  union {
    __IOM uint32_t SAMPLE;                      /*!< (@ 0x00000028) desc SAMPLE                                                */

    struct {
      __IOM uint32_t SQRCH0     : 4;            /*!< [3..0] desc SQRCH0                                                        */
      __IOM uint32_t SQRCH1     : 4;            /*!< [7..4] desc SQRCH1                                                        */
      __IOM uint32_t SQRCH2     : 4;            /*!< [11..8] desc SQRCH2                                                       */
      __IOM uint32_t SQRCH3     : 4;            /*!< [15..12] desc SQRCH3                                                      */
      __IOM uint32_t SQRCH4     : 4;            /*!< [19..16] desc SQRCH4                                                      */
      __IOM uint32_t SQRCH5     : 4;            /*!< [23..20] desc SQRCH5                                                      */
      __IOM uint32_t SQRCH6     : 4;            /*!< [27..24] desc SQRCH6                                                      */
      __IOM uint32_t SQRCH7     : 4;            /*!< [31..28] desc SQRCH7                                                      */
    } SAMPLE_f;
  } ;

  union {
    __IOM uint32_t SQRCFR;                      /*!< (@ 0x0000002C) desc SQRCFR                                                */

    struct {
      __IOM uint32_t SQRCH0     : 4;            /*!< [3..0] desc SQRCH0                                                        */
      __IOM uint32_t SQRCH1     : 4;            /*!< [7..4] desc SQRCH1                                                        */
      __IOM uint32_t SQRCH2     : 4;            /*!< [11..8] desc SQRCH2                                                       */
      __IOM uint32_t SQRCH3     : 4;            /*!< [15..12] desc SQRCH3                                                      */
      __IOM uint32_t SQRCH4     : 4;            /*!< [19..16] desc SQRCH4                                                      */
      __IOM uint32_t SQRCH5     : 4;            /*!< [23..20] desc SQRCH5                                                      */
      __IOM uint32_t SQRCH6     : 4;            /*!< [27..24] desc SQRCH6                                                      */
      __IOM uint32_t SQRCH7     : 4;            /*!< [31..28] desc SQRCH7                                                      */
    } SQRCFR_f;
  } ;
  __IM  uint32_t  RESERVED5[4];

  union {
    __IM  uint32_t RESULT0;                     /*!< (@ 0x00000040) desc RESULT0                                               */

    struct {
      __IM  uint32_t RESULT     : 16;           /*!< [15..0] desc RESULT                                                       */
    } RESULT0_f;
  } ;

  union {
    __IM  uint32_t RESULT1;                     /*!< (@ 0x00000044) desc RESULT1                                               */

    struct {
      __IM  uint32_t RESULT     : 16;           /*!< [15..0] desc RESULT                                                       */
    } RESULT1_f;
  } ;

  union {
    __IM  uint32_t RESULT2;                     /*!< (@ 0x00000048) desc RESULT2                                               */

    struct {
      __IM  uint32_t RESULT     : 16;           /*!< [15..0] desc RESULT                                                       */
    } RESULT2_f;
  } ;

  union {
    __IM  uint32_t RESULT3;                     /*!< (@ 0x0000004C) desc RESULT3                                               */

    struct {
      __IM  uint32_t RESULT     : 16;           /*!< [15..0] desc RESULT                                                       */
    } RESULT3_f;
  } ;

  union {
    __IM  uint32_t RESULT4;                     /*!< (@ 0x00000050) desc RESULT4                                               */

    struct {
      __IM  uint32_t RESULT     : 16;           /*!< [15..0] desc RESULT                                                       */
    } RESULT4_f;
  } ;

  union {
    __IM  uint32_t RESULT5;                     /*!< (@ 0x00000054) desc RESULT5                                               */

    struct {
      __IM  uint32_t RESULT     : 16;           /*!< [15..0] desc RESULT                                                       */
    } RESULT5_f;
  } ;

  union {
    __IM  uint32_t RESULT6;                     /*!< (@ 0x00000058) desc RESULT6                                               */

    struct {
      __IM  uint32_t RESULT     : 16;           /*!< [15..0] desc RESULT                                                       */
    } RESULT6_f;
  } ;

  union {
    __IM  uint32_t RESULT7;                     /*!< (@ 0x0000005C) desc RESULT7                                               */

    struct {
      __IM  uint32_t RESULT     : 16;           /*!< [15..0] desc RESULT                                                       */
    } RESULT7_f;
  } ;
  __IM  uint32_t  RESERVED6[5];

  union {
    __IOM uint32_t IER;                         /*!< (@ 0x00000074) desc IER                                                   */

    struct {
      __IOM uint32_t EOC        : 1;            /*!< [0..0] desc EOC                                                           */
      __IOM uint32_t EOS        : 1;            /*!< [1..1] desc EOS                                                           */
      __IOM uint32_t AWDL       : 1;            /*!< [2..2] desc AWDL                                                          */
      __IOM uint32_t AWDH       : 1;            /*!< [3..3] desc AWDH                                                          */
    } IER_f;
  } ;

  union {
    __IOM uint32_t ICR;                         /*!< (@ 0x00000078) desc ICR                                                   */

    struct {
      __IOM uint32_t EOC        : 1;            /*!< [0..0] desc EOC                                                           */
      __IOM uint32_t EOS        : 1;            /*!< [1..1] desc EOS                                                           */
      __IOM uint32_t AWDL       : 1;            /*!< [2..2] desc AWDL                                                          */
      __IOM uint32_t AWDH       : 1;            /*!< [3..3] desc AWDH                                                          */
    } ICR_f;
  } ;

  union {
    __IM  uint32_t ISR;                         /*!< (@ 0x0000007C) desc ISR                                                   */

    struct {
      __IM  uint32_t EOC        : 1;            /*!< [0..0] desc EOC                                                           */
      __IM  uint32_t EOS        : 1;            /*!< [1..1] desc EOS                                                           */
      __IM  uint32_t AWDL       : 1;            /*!< [2..2] desc AWDL                                                          */
      __IM  uint32_t AWDH       : 1;            /*!< [3..3] desc AWDH                                                          */
    } ISR_f;
  } ;
} ADC_TypeDef;                                     /*!< Size = 128 (0x80)                                                         */



/* =========================================================================================================================== */
/* ================                                           ATIM                                            ================ */
/* =========================================================================================================================== */


/**
  * @brief desc ATIM (ATIM)
  */

typedef struct {                                /*!< (@ 0x40001400) ATIM Structure                                             */

  union {
    __IOM uint32_t CR1;                         /*!< (@ 0x00000000) Control Register1                                          */

    struct {
      __IOM uint32_t CEN        : 1;            /*!< [0..0] desc CEN                                                           */
      __IOM uint32_t UDIS       : 1;            /*!< [1..1] desc UDIS                                                          */
      __IOM uint32_t URS        : 1;            /*!< [2..2] desc URS                                                           */
      __IOM uint32_t OPM        : 1;            /*!< [3..3] desc OPM                                                           */
      __IOM uint32_t DIR        : 1;            /*!< [4..4] desc DIR                                                           */
      __IOM uint32_t CMS        : 2;            /*!< [6..5] desc CMS                                                           */
      __IOM uint32_t ARPE       : 1;            /*!< [7..7] desc ARPE                                                          */
      __IOM uint32_t CKD        : 2;            /*!< [9..8] desc CKD                                                           */
      __IM  uint32_t            : 1;
      __IOM uint32_t UIFREMAP   : 1;            /*!< [11..11] desc UIFREMAP                                                    */
    } CR1_f;
  } ;

  union {
    __IOM uint32_t CR2;                         /*!< (@ 0x00000004) Control Register2                                          */

    struct {
      __IOM uint32_t CCPC       : 1;            /*!< [0..0] desc CCPC                                                          */
      __IM  uint32_t            : 1;
      __IOM uint32_t CCUS       : 1;            /*!< [2..2] desc CCUS                                                          */
      __IM  uint32_t            : 1;
      __IOM uint32_t MMS        : 3;            /*!< [6..4] desc MMS                                                           */
      __IOM uint32_t TI1S       : 1;            /*!< [7..7] desc TI1S                                                          */
      __IOM uint32_t OIS1       : 1;            /*!< [8..8] desc OIS1                                                          */
      __IOM uint32_t OIS1N      : 1;            /*!< [9..9] desc OIS1N                                                         */
      __IOM uint32_t OIS2       : 1;            /*!< [10..10] desc OIS2                                                        */
      __IOM uint32_t OIS2N      : 1;            /*!< [11..11] desc OIS2N                                                       */
      __IOM uint32_t OIS3       : 1;            /*!< [12..12] desc OIS3                                                        */
      __IOM uint32_t OIS3N      : 1;            /*!< [13..13] desc OIS3N                                                       */
      __IOM uint32_t OIS4       : 1;            /*!< [14..14] desc OIS4                                                        */
      __IOM uint32_t OIS4N      : 1;            /*!< [15..15] desc OIS4N                                                       */
      __IOM uint32_t OIS5       : 1;            /*!< [16..16] desc OIS5                                                        */
      __IOM uint32_t OIS5N      : 1;            /*!< [17..17] desc OIS5N                                                       */
      __IOM uint32_t OIS6       : 1;            /*!< [18..18] desc OIS6                                                        */
      __IOM uint32_t OIS6N      : 1;            /*!< [19..19] desc OIS6N                                                       */
      __IOM uint32_t MMS2       : 5;            /*!< [24..20] desc MMS2                                                        */
      __IOM uint32_t MMSH       : 2;            /*!< [26..25] desc MMSH                                                        */
    } CR2_f;
  } ;

  union {
    __IOM uint32_t SMCR;                        /*!< (@ 0x00000008) Slave Mode Control Register                                */

    struct {
      __IOM uint32_t SMS        : 3;            /*!< [2..0] desc SMS                                                           */
      __IOM uint32_t OCCS       : 1;            /*!< [3..3] desc OCCS                                                          */
      __IOM uint32_t TS         : 3;            /*!< [6..4] desc TS                                                            */
      __IOM uint32_t MSM        : 1;            /*!< [7..7] desc MSM                                                           */
      __IOM uint32_t ETF        : 4;            /*!< [11..8] desc ETF                                                          */
      __IOM uint32_t ETPS       : 2;            /*!< [13..12] desc ETPS                                                        */
      __IOM uint32_t ECE        : 1;            /*!< [14..14] desc ECE                                                         */
      __IOM uint32_t ETP        : 1;            /*!< [15..15] desc ETP                                                         */
      __IOM uint32_t SMSH       : 1;            /*!< [16..16] desc SMSH                                                        */
      __IM  uint32_t            : 3;
      __IOM uint32_t TSH        : 2;            /*!< [21..20] desc TSH                                                         */
      __IM  uint32_t            : 2;
      __IOM uint32_t SMSPE      : 1;            /*!< [24..24] desc SMSPE                                                       */
      __IOM uint32_t SMSPS      : 1;            /*!< [25..25] desc SMSPS                                                       */
    } SMCR_f;
  } ;

  union {
    __IOM uint32_t IER;                         /*!< (@ 0x0000000C) Interrupt Enable Register                                  */

    struct {
      __IOM uint32_t UIE        : 1;            /*!< [0..0] desc UIE                                                           */
      __IOM uint32_t CC1IE      : 1;            /*!< [1..1] desc CC1IE                                                         */
      __IOM uint32_t CC2IE      : 1;            /*!< [2..2] desc CC2IE                                                         */
      __IOM uint32_t CC3IE      : 1;            /*!< [3..3] desc CC3IE                                                         */
      __IOM uint32_t CC4IE      : 1;            /*!< [4..4] desc CC4IE                                                         */
      __IOM uint32_t COMIE      : 1;            /*!< [5..5] desc COMIE                                                         */
      __IOM uint32_t TIE        : 1;            /*!< [6..6] desc TIE                                                           */
      __IOM uint32_t BIE        : 1;            /*!< [7..7] desc BIE                                                           */
            uint32_t            : 8;
      __IOM uint32_t CC5IE      : 1;            /*!< desc CC5IE                                                                */
      __IOM uint32_t CC6IE      : 1;            /*!< desc CC6IE                                                                */
            uint32_t            : 2;
      __IOM uint32_t IDXIE      : 1;            /*!< [20..20] desc IDXIE                                                       */
      __IOM uint32_t DIRIE      : 1;            /*!< [21..21] desc DIRIE                                                       */
      __IOM uint32_t IERRIE     : 1;            /*!< [22..22] desc IERRIE                                                      */
      __IOM uint32_t TERRIE     : 1;            /*!< [23..23] desc TERRIE                                                      */
    } IER_f;
  } ;

  union {
    __IOM uint32_t ISR;                         /*!< (@ 0x00000010) Interrupt status register                                  */

    struct {
      __IOM uint32_t UIF        : 1;            /*!< [0..0] desc UIF                                                           */
      __IOM uint32_t CC1IF      : 1;            /*!< [1..1] desc CC1IF                                                         */
      __IOM uint32_t CC2IF      : 1;            /*!< [2..2] desc CC2IF                                                         */
      __IOM uint32_t CC3IF      : 1;            /*!< [3..3] desc CC3IF                                                         */
      __IOM uint32_t CC4IF      : 1;            /*!< [4..4] desc CC4IF                                                         */
      __IOM uint32_t COMIF      : 1;            /*!< [5..5] desc COMIF                                                         */
      __IOM uint32_t TIF        : 1;            /*!< [6..6] desc TIF                                                           */
      __IOM uint32_t BIF        : 1;            /*!< [7..7] desc BIF                                                           */
      __IOM uint32_t B2IF       : 1;            /*!< [8..8] desc B2IF                                                          */
      __IOM uint32_t CC1OF      : 1;            /*!< [9..9] desc CC1OF                                                         */
      __IOM uint32_t CC2OF      : 1;            /*!< [10..10] desc CC2OF                                                       */
      __IOM uint32_t CC3OF      : 1;            /*!< [11..11] desc CC3OF                                                       */
      __IOM uint32_t CC4OF      : 1;            /*!< [12..12] desc CC4OF                                                       */
      __IOM uint32_t SBIF       : 1;            /*!< [13..13] desc SBIF                                                        */
      __IM  uint32_t            : 2;
      __IOM uint32_t CC5IF      : 1;            /*!< [16..16] desc CC5IF                                                       */
      __IOM uint32_t CC6IF      : 1;            /*!< [17..17] desc CC6IF                                                       */
      __IOM uint32_t CC5OF      : 1;            /*!< [18..18] desc CC5OF                                                       */
      __IOM uint32_t CC6OF      : 1;            /*!< [19..19] desc CC6OF                                                       */
      __IOM uint32_t IDXF       : 1;            /*!< [20..20] desc IDXF                                                        */
      __IOM uint32_t DIRF       : 1;            /*!< [21..21] desc DIRF                                                        */
      __IOM uint32_t IERRF      : 1;            /*!< [22..22] desc IERRF                                                       */
      __IOM uint32_t TERRF      : 1;            /*!< [23..23] desc TERRF                                                       */
    } ISR_f;
  } ;

  union {
    __IOM uint32_t EGR;                         /*!< (@ 0x00000014) Event generation register                                  */

    struct {
      __IOM uint32_t UG         : 1;            /*!< [0..0] desc UG                                                            */
      __IOM uint32_t CC1G       : 1;            /*!< [1..1] desc CC1G                                                          */
      __IOM uint32_t CC2G       : 1;            /*!< [2..2] desc CC2G                                                          */
      __IOM uint32_t CC3G       : 1;            /*!< [3..3] desc CC3G                                                          */
      __IOM uint32_t CC4G       : 1;            /*!< [4..4] desc CC4G                                                          */
      __IOM uint32_t COMG       : 1;            /*!< [5..5] desc COMG                                                          */
      __IOM uint32_t TG         : 1;            /*!< [6..6] desc TG                                                            */
      __IOM uint32_t BG         : 1;            /*!< [7..7] desc BG                                                            */
      __IOM uint32_t B2G        : 1;            /*!< [8..8] desc B2G                                                           */
      __IM  uint32_t            : 7;
      __IOM uint32_t CC5G       : 1;            /*!< [16..16] desc CC5G                                                        */
      __IOM uint32_t CC6G       : 1;            /*!< [17..17] desc CC6G                                                        */
    } EGR_f;
  } ;

  union {
    union {
      __IOM uint32_t CCMR1CAP;                  /*!< (@ 0x00000018) capture compare mode register 1                            */

      struct {
        __IOM uint32_t CC1S     : 2;            /*!< [1..0] desc CC1S                                                          */
        __IOM uint32_t IC1PSC   : 2;            /*!< [3..2] desc IC1PSC                                                        */
        __IOM uint32_t IC1F     : 4;            /*!< [7..4] desc IC1F                                                          */
        __IOM uint32_t CC2S     : 2;            /*!< [9..8] desc CC2S                                                          */
        __IOM uint32_t IC2PSC   : 2;            /*!< [11..10] desc IC2PSC                                                      */
        __IOM uint32_t IC2F     : 4;            /*!< [15..12] desc IC2F                                                        */
      } CCMR1CAP_f;
    } ;

    union {
      __IOM uint32_t CCMR1CMP;                  /*!< (@ 0x00000018) capture compare mode register 1                            */

      struct {
        __IOM uint32_t CC1S     : 2;            /*!< [1..0] desc CC1S                                                          */
        __IOM uint32_t OC1FE    : 1;            /*!< [2..2] desc OC1FE                                                         */
        __IOM uint32_t OC1PE    : 1;            /*!< [3..3] desc OC1PE                                                         */
        __IOM uint32_t OC1M     : 3;            /*!< [6..4] desc OC1M                                                          */
        __IOM uint32_t OC1CE    : 1;            /*!< [7..7] desc OC1CE                                                         */
        __IOM uint32_t CC2S     : 2;            /*!< [9..8] desc CC2S                                                          */
        __IOM uint32_t OC2FE    : 1;            /*!< [10..10] desc OC2FE                                                       */
        __IOM uint32_t OC2PE    : 1;            /*!< [11..11] desc OC2PE                                                       */
        __IOM uint32_t OC2M     : 3;            /*!< [14..12] desc OC2M                                                        */
        __IOM uint32_t OC2CE    : 1;            /*!< [15..15] desc OC2CE                                                       */
        __IOM uint32_t OC1MH    : 1;            /*!< [16..16] desc OC1MH                                                       */
        __IM  uint32_t          : 7;
        __IOM uint32_t OC2MH    : 1;            /*!< [24..24] desc OC2MH                                                       */
      } CCMR1CMP_f;
    } ;
  };

  union {
    union {
      __IOM uint32_t CCMR2CAP;                  /*!< (@ 0x0000001C) capture compare mode register 2                            */

      struct {
        __IOM uint32_t CC3S     : 2;            /*!< [1..0] desc CC3S                                                          */
        __IOM uint32_t IC3PSC   : 2;            /*!< [3..2] desc IC3PSC                                                        */
        __IOM uint32_t IC3F     : 4;            /*!< [7..4] desc IC3F                                                          */
        __IOM uint32_t CC4S     : 2;            /*!< [9..8] desc CC4S                                                          */
        __IOM uint32_t IC4PSC   : 2;            /*!< [11..10] desc IC4PSC                                                      */
        __IOM uint32_t IC4F     : 4;            /*!< [15..12] desc IC4F                                                        */
      } CCMR2CAP_f;
    } ;

    union {
      __IOM uint32_t CCMR2CMP;                  /*!< (@ 0x0000001C) capture compare mode register 2                            */

      struct {
        __IOM uint32_t CC3S     : 2;            /*!< [1..0] desc CC3S                                                          */
        __IOM uint32_t OC3FE    : 1;            /*!< [2..2] desc OC3FE                                                         */
        __IOM uint32_t OC3PE    : 1;            /*!< [3..3] desc OC3PE                                                         */
        __IOM uint32_t OC3M     : 3;            /*!< [6..4] desc OC3M                                                          */
        __IOM uint32_t OC3CE    : 1;            /*!< [7..7] desc OC3CE                                                         */
        __IOM uint32_t CC4S     : 2;            /*!< [9..8] desc CC4S                                                          */
        __IOM uint32_t OC4FE    : 1;            /*!< [10..10] desc OC4FE                                                       */
        __IOM uint32_t OC4PE    : 1;            /*!< [11..11] desc OC4PE                                                       */
        __IOM uint32_t OC4M     : 3;            /*!< [14..12] desc OC4M                                                        */
        __IOM uint32_t OC4CE    : 1;            /*!< [15..15] desc OC4CE                                                       */
        __IOM uint32_t OC3MH    : 1;            /*!< [16..16] desc OC3MH                                                       */
        __IM  uint32_t          : 7;
        __IOM uint32_t OC4MH    : 1;            /*!< [24..24] desc OC4MH                                                       */
      } CCMR2CMP_f;
    } ;
  };

  union {
    __IOM uint32_t CCER;                        /*!< (@ 0x00000020) capture compare enable register                            */

    struct {
      __IOM uint32_t CC1E       : 1;            /*!< [0..0] desc CC1E                                                          */
      __IOM uint32_t CC1P       : 1;            /*!< [1..1] desc CC1P                                                          */
      __IOM uint32_t CC1NE      : 1;            /*!< [2..2] desc CC1NE                                                         */
      __IOM uint32_t CC1NP      : 1;            /*!< [3..3] desc CC1NP                                                         */
      __IOM uint32_t CC2E       : 1;            /*!< [4..4] desc CC2E                                                          */
      __IOM uint32_t CC2P       : 1;            /*!< [5..5] desc CC2P                                                          */
      __IOM uint32_t CC2NE      : 1;            /*!< [6..6] desc CC2NE                                                         */
      __IOM uint32_t CC2NP      : 1;            /*!< [7..7] desc CC2NP                                                         */
      __IOM uint32_t CC3E       : 1;            /*!< [8..8] desc CC3E                                                          */
      __IOM uint32_t CC3P       : 1;            /*!< [9..9] desc CC3P                                                          */
      __IOM uint32_t CC3NE      : 1;            /*!< [10..10] desc CC3NE                                                       */
      __IOM uint32_t CC3NP      : 1;            /*!< [11..11] desc CC3NP                                                       */
      __IOM uint32_t CC4E       : 1;            /*!< [12..12] desc CC4E                                                        */
      __IOM uint32_t CC4P       : 1;            /*!< [13..13] desc CC4P                                                        */
      __IOM uint32_t CC4NE      : 1;            /*!< [14..14] desc CC4NE                                                       */
      __IOM uint32_t CC4NP      : 1;            /*!< [15..15] desc CC4NP                                                       */
      __IOM uint32_t CC5E       : 1;            /*!< [16..16] desc CC5E                                                        */
      __IOM uint32_t CC5P       : 1;            /*!< [17..17] desc CC5P                                                        */
      __IOM uint32_t CC5NE      : 1;            /*!< [18..18] desc CC5NE                                                       */
      __IOM uint32_t CC5NP      : 1;            /*!< [19..19] desc CC5NP                                                       */
      __IOM uint32_t CC6E       : 1;            /*!< [20..20] desc CC6E                                                        */
      __IOM uint32_t CC6P       : 1;            /*!< [21..21] desc CC6P                                                        */
      __IOM uint32_t CC6NE      : 1;            /*!< [22..22] desc CC6NE                                                       */
      __IOM uint32_t CC6NP      : 1;            /*!< [23..23] desc CC6NP                                                       */
    } CCER_f;
  } ;

  union {
    __IOM uint32_t CNT;                         /*!< (@ 0x00000024) Counter Register                                           */

    struct {
      __IOM uint32_t CNT        : 16;           /*!< [15..0] desc CNT                                                          */
      __IM  uint32_t            : 15;
      __IM  uint32_t UIFCPY     : 1;            /*!< [31..31] desc UIFCPY                                                      */
    } CNT_f;
  } ;

  union {
    __IOM uint32_t PSC;                         /*!< (@ 0x00000028) prescaler Register                                         */

    struct {
      __IOM uint32_t PSC        : 16;           /*!< [15..0] desc PSC                                                          */
    } PSC_f;
  } ;

  union {
    __IOM uint32_t ARR;                         /*!< (@ 0x0000002C) Auto reload Register                                       */

    struct {
      __IOM uint32_t ARR        : 16;           /*!< [15..0] desc ARR                                                          */
    } ARR_f;
  } ;

  union {
    __IOM uint32_t RCR;                         /*!< (@ 0x00000030) Repetition Counter Register                                */

    struct {
      __IOM uint32_t REP        : 16;           /*!< [15..0] desc REP                                                          */
    } RCR_f;
  } ;

  union {
    __IOM uint32_t CCR1;                        /*!< (@ 0x00000034) capture compare register1                                  */

    struct {
      __IOM uint32_t CCR1       : 16;           /*!< [15..0] desc CCR1                                                         */
    } CCR1_f;
  } ;

  union {
    __IOM uint32_t CCR2;                        /*!< (@ 0x00000038) capture compare register2                                  */

    struct {
      __IOM uint32_t CCR2       : 16;           /*!< [15..0] desc CCR2                                                         */
    } CCR2_f;
  } ;

  union {
    __IOM uint32_t CCR3;                        /*!< (@ 0x0000003C) capture compare register3                                  */

    struct {
      __IOM uint32_t CCR3       : 16;           /*!< [15..0] desc CCR3                                                         */
    } CCR3_f;
  } ;

  union {
    __IOM uint32_t CCR4;                        /*!< (@ 0x00000040) capture compare register4                                  */

    struct {
      __IOM uint32_t CCR4       : 16;           /*!< [15..0] desc CCR4                                                         */
    } CCR4_f;
  } ;

  union {
    __IOM uint32_t BDTR;                        /*!< (@ 0x00000044) break and dead-time register                               */

    struct {
      __IOM uint32_t DTG        : 8;            /*!< [7..0] desc DTG                                                           */
      __IOM uint32_t LOCK       : 2;            /*!< [9..8] desc LOCK                                                          */
      __IOM uint32_t OSSI       : 1;            /*!< [10..10] desc OSSI                                                        */
      __IOM uint32_t OSSR       : 1;            /*!< [11..11] desc OSSR                                                        */
      __IOM uint32_t BKE        : 1;            /*!< [12..12] desc BKE                                                         */
      __IOM uint32_t BKP        : 1;            /*!< [13..13] desc BKP                                                         */
      __IOM uint32_t AOE        : 1;            /*!< [14..14] desc AOE                                                         */
      __IOM uint32_t MOE        : 1;            /*!< [15..15] desc MOE                                                         */
      __IOM uint32_t BKF        : 4;            /*!< [19..16] desc BKF                                                         */
      __IOM uint32_t BK2F       : 4;            /*!< [23..20] desc BK2F                                                        */
      __IOM uint32_t BK2E       : 1;            /*!< [24..24] desc BK2E                                                        */
      __IOM uint32_t BK2P       : 1;            /*!< [25..25] desc BK2P                                                        */
    } BDTR_f;
  } ;

  union {
    __IOM uint32_t CCR5;                        /*!< (@ 0x00000048) capture compare register5                                  */

    struct {
      __IOM uint32_t CCR5       : 16;           /*!< [15..0] desc CCR5                                                         */
      __IM  uint32_t            : 10;
      __IOM uint32_t GC5C1      : 1;            /*!< [26..26] desc GC5C1                                                       */
      __IOM uint32_t GC5C2      : 1;            /*!< [27..27] desc GC5C2                                                       */
      __IOM uint32_t GC5C3      : 1;            /*!< [28..28] desc GC5C3                                                       */
      __IOM uint32_t GC5C4      : 1;            /*!< [29..29] desc GC5C4                                                       */
      __IOM uint32_t GC5C5      : 1;            /*!< [30..30] desc GC5C5                                                       */
      __IOM uint32_t GC5C6      : 1;            /*!< [31..31] desc GC5C6                                                       */
    } CCR5_f;
  } ;

  union {
    __IOM uint32_t CCR6;                        /*!< (@ 0x0000004C) capture compare register6                                  */

    struct {
      __IOM uint32_t CCR6       : 16;           /*!< [15..0] desc CCR6                                                         */
      __IM  uint32_t            : 10;
      __IOM uint32_t GC6C1      : 1;            /*!< [26..26] desc GC6C1                                                       */
      __IOM uint32_t GC6C2      : 1;            /*!< [27..27] desc GC6C2                                                       */
      __IOM uint32_t GC6C3      : 1;            /*!< [28..28] desc GC6C3                                                       */
      __IOM uint32_t GC6C4      : 1;            /*!< [29..29] desc GC6C4                                                       */
      __IOM uint32_t GC6C5      : 1;            /*!< [30..30] desc GC6C5                                                       */
      __IOM uint32_t GC6C6      : 1;            /*!< [31..31] desc GC6C6                                                       */
    } CCR6_f;
  } ;

  union {
    union {
      __IOM uint32_t CCMR3CAP;                  /*!< (@ 0x00000050) capture compare mode register 3                            */

      struct {
        __IOM uint32_t CC5S     : 2;            /*!< [1..0] desc CC5S                                                          */
        __IOM uint32_t IC5PSC   : 2;            /*!< [3..2] desc IC5PSC                                                        */
        __IOM uint32_t IC5F     : 4;            /*!< [7..4] desc IC5F                                                          */
        __IOM uint32_t CC6S     : 2;            /*!< [9..8] desc CC6S                                                          */
        __IOM uint32_t IC6PSC   : 2;            /*!< [11..10] desc IC6PSC                                                      */
        __IOM uint32_t IC6F     : 4;            /*!< [15..12] desc IC6F                                                        */
      } CCMR3CAP_f;
    } ;

    union {
      __IOM uint32_t CCMR3CMP;                  /*!< (@ 0x00000050) capture compare mode register 3                            */

      struct {
        __IOM uint32_t CC5S     : 2;            /*!< [1..0] desc CC5S                                                          */
        __IOM uint32_t OC5FE    : 1;            /*!< [2..2] desc OC5FE                                                         */
        __IOM uint32_t OC5PE    : 1;            /*!< [3..3] desc OC5PE                                                         */
        __IOM uint32_t OC5M     : 3;            /*!< [6..4] desc OC5M                                                          */
        __IOM uint32_t OC5CE    : 1;            /*!< [7..7] desc OC5CE                                                         */
        __IOM uint32_t CC6S     : 2;            /*!< [9..8] desc CC6S                                                          */
        __IOM uint32_t OC6FE    : 1;            /*!< [10..10] desc OC6FE                                                       */
        __IOM uint32_t OC6PE    : 1;            /*!< [11..11] desc OC6PE                                                       */
        __IOM uint32_t OC6M     : 3;            /*!< [14..12] desc OC6M                                                        */
        __IOM uint32_t OC6CE    : 1;            /*!< [15..15] desc OC6CE                                                       */
        __IOM uint32_t OC5MH    : 1;            /*!< [16..16] desc OC5MH                                                       */
        __IM  uint32_t          : 7;
        __IOM uint32_t OC6MH    : 1;            /*!< [24..24] desc OC6MH                                                       */
      } CCMR3CMP_f;
    } ;
  };

  union {
    __IOM uint32_t DTR2;                        /*!< (@ 0x00000054) dead-time register2                                        */

    struct {
      __IOM uint32_t DTGF       : 8;            /*!< [7..0] desc DTGF                                                          */
      __IM  uint32_t            : 8;
      __IOM uint32_t DTAE       : 1;            /*!< [16..16] desc DTAE                                                        */
      __IOM uint32_t DTPE       : 1;            /*!< [17..17] desc DTPE                                                        */
    } DTR2_f;
  } ;

  union {
    __IOM uint32_t ECR;                         /*!< (@ 0x00000058) Encoder control Register                                   */

    struct {
      __IOM uint32_t IE         : 1;            /*!< [0..0] desc IE                                                            */
      __IOM uint32_t IDIR       : 2;            /*!< [2..1] desc IDIR                                                          */
      __IM  uint32_t            : 2;
      __IOM uint32_t FIDX       : 1;            /*!< [5..5] desc FIDX                                                          */
      __IOM uint32_t IPOS       : 2;            /*!< [7..6] desc IPOS                                                          */
    } ECR_f;
  } ;

  union {
    __IOM uint32_t TISEL1;                      /*!< (@ 0x0000005C) Timer Input Select Register1                               */

    struct {
      __IOM uint32_t TI1SEL     : 4;            /*!< [3..0] desc TI1SEL                                                        */
      __IM  uint32_t            : 4;
      __IOM uint32_t TI2SEL     : 4;            /*!< [11..8] desc TI2SEL                                                       */
      __IM  uint32_t            : 4;
      __IOM uint32_t TI3SEL     : 4;            /*!< [19..16] desc TI3SEL                                                      */
      __IM  uint32_t            : 4;
      __IOM uint32_t TI4SEL     : 4;            /*!< [27..24] desc TI4SEL                                                      */
    } TISEL1_f;
  } ;

  union {
    __IOM uint32_t AF1;                         /*!< (@ 0x00000060) Alternate function Register1                               */

    struct {
      __IOM uint32_t BKINE      : 1;            /*!< [0..0] desc BKINE                                                         */
      __IOM uint32_t BKVC1E     : 1;            /*!< [1..1] desc BKVC1E                                                        */
      __IOM uint32_t BKVC2E     : 1;            /*!< [2..2] desc BKVC2E                                                        */
      __IM  uint32_t            : 6;
      __IOM uint32_t BKINP      : 1;            /*!< [9..9] desc BKINP                                                         */
      __IOM uint32_t BKVC1P     : 1;            /*!< [10..10] desc BKVC1P                                                      */
      __IOM uint32_t BKVC2P     : 1;            /*!< [11..11] desc BKVC2P                                                      */
      __IM  uint32_t            : 2;
      __IOM uint32_t ETRSEL     : 4;            /*!< [17..14] desc ETRSEL                                                      */
    } AF1_f;
  } ;

  union {
    __IOM uint32_t AF2;                         /*!< (@ 0x00000064) Alternate function Register2                               */

    struct {
      __IOM uint32_t BK2INE     : 1;            /*!< [0..0] desc BK2INE                                                        */
      __IOM uint32_t BK2VC1E    : 1;            /*!< [1..1] desc BK2VC1E                                                       */
      __IOM uint32_t BK2VC2E    : 1;            /*!< [2..2] desc BK2VC2E                                                       */
      __IM  uint32_t            : 6;
      __IOM uint32_t BK2INP     : 1;            /*!< [9..9] desc BK2INP                                                        */
      __IOM uint32_t BK2VC1P    : 1;            /*!< [10..10] desc BK2VC1P                                                     */
      __IOM uint32_t BK2VC2P    : 1;            /*!< [11..11] desc BK2VC2P                                                     */
      __IM  uint32_t            : 4;
      __IOM uint32_t OCRSEL     : 3;            /*!< [18..16] desc OCRSEL                                                      */
    } AF2_f;
  } ;
  __IM  uint32_t  RESERVED;

  union {
    __IOM uint32_t TISEL2;                      /*!< (@ 0x0000006C) Timer Input Select Register2                               */

    struct {
      __IOM uint32_t TI5SEL     : 4;            /*!< [3..0] desc TI5SEL                                                        */
      __IM  uint32_t            : 4;
      __IOM uint32_t TI6SEL     : 4;            /*!< [11..8] desc TI6SEL                                                       */
    } TISEL2_f;
  } ;

  union {
    __IOM uint32_t ICR;                         /*!< (@ 0x00000070) Interrupt clean register                                   */

    struct {
      __IOM uint32_t UIF        : 1;            /*!< [0..0] desc UIF                                                           */
      __IOM uint32_t CC1IF      : 1;            /*!< [1..1] desc CC1IF                                                         */
      __IOM uint32_t CC2IF      : 1;            /*!< [2..2] desc CC2IF                                                         */
      __IOM uint32_t CC3IF      : 1;            /*!< [3..3] desc CC3IF                                                         */
      __IOM uint32_t CC4IF      : 1;            /*!< [4..4] desc CC4IF                                                         */
      __IOM uint32_t COMIF      : 1;            /*!< [5..5] desc COMIF                                                         */
      __IOM uint32_t TIF        : 1;            /*!< [6..6] desc TIF                                                           */
      __IOM uint32_t BIF        : 1;            /*!< [7..7] desc BIF                                                           */
      __IOM uint32_t B2IF       : 1;            /*!< [8..8] desc B2IF                                                          */
      __IOM uint32_t CC1OF      : 1;            /*!< [9..9] desc CC1OF                                                         */
      __IOM uint32_t CC2OF      : 1;            /*!< [10..10] desc CC2OF                                                       */
      __IOM uint32_t CC3OF      : 1;            /*!< [11..11] desc CC3OF                                                       */
      __IOM uint32_t CC4OF      : 1;            /*!< [12..12] desc CC4OF                                                       */
      __IOM uint32_t SBIF       : 1;            /*!< [13..13] desc SBIF                                                        */
      __IM  uint32_t            : 2;
      __IOM uint32_t CC5IF      : 1;            /*!< [16..16] desc CC5IF                                                       */
      __IOM uint32_t CC6IF      : 1;            /*!< [17..17] desc CC6IF                                                       */
      __IOM uint32_t CC5OF      : 1;            /*!< [18..18] desc CC5OF                                                       */
      __IOM uint32_t CC6OF      : 1;            /*!< [19..19] desc CC6OF                                                       */
      __IOM uint32_t IDXF       : 1;            /*!< [20..20] desc IDXF                                                        */
      __IOM uint32_t DIRF       : 1;            /*!< [21..21] desc DIRF                                                        */
      __IOM uint32_t IERRF      : 1;            /*!< [22..22] desc IERRF                                                       */
      __IOM uint32_t TERRF      : 1;            /*!< [23..23] desc TERRF                                                       */
    } ICR_f;
  } ;
} ATIM_TypeDef;                                    /*!< Size = 116 (0x74)                                                         */



/* =========================================================================================================================== */
/* ================                                           BTIM1                                           ================ */
/* =========================================================================================================================== */


/**
  * @brief Base Timer 1 (BTIM1)
  */

typedef struct {                                /*!< (@ 0x40004800) BTIM1 Structure                                            */

  union {
    __IOM uint32_t CR1;                         /*!< (@ 0x00000000) Control register1                                          */

    struct {
      __IOM uint32_t EN         : 1;            /*!< [0..0] desc EN                                                            */
      __IOM uint32_t UDIS       : 1;            /*!< [1..1] desc UDIS                                                          */
      __IOM uint32_t URS        : 1;            /*!< [2..2] desc URS                                                           */
      __IOM uint32_t ONESHOT    : 1;            /*!< [3..3] desc ONESHOT                                                       */
      __IM  uint32_t            : 7;
      __IOM uint32_t UIFREMAP   : 1;            /*!< [11..11] desc REMAP                                                       */
      __IM  uint32_t            : 3;
      __IOM uint32_t TOGEN      : 1;            /*!< [15..15] desc TOGEN                                                       */
    } CR1_f;
  } ;

  union {
    __IOM uint32_t CR2;                         /*!< (@ 0x00000004) Control register2                                          */

    struct {
      __IM  uint32_t            : 4;
      __IOM uint32_t MMS        : 3;            /*!< [6..4] desc MMS                                                           */
    } CR2_f;
  } ;

  union {
    __IOM uint32_t SMCR;                        /*!< (@ 0x00000008) Slave Mode Control register                                */

    struct {
      __IOM uint32_t SMS        : 3;            /*!< [2..0] desc SMS                                                           */
      __IOM uint32_t RSTISRC    : 4;            /*!< [6..3] desc RSTISRC                                                       */
      __IOM uint32_t TRGISRC    : 4;            /*!< [10..7] desc TRGISRC                                                      */
      __IOM uint32_t MSM        : 1;            /*!< [11..11] desc MSM                                                         */
      __IOM uint32_t TRGIFLT    : 3;            /*!< [14..12] desc TRGIFLT                                                     */
      __IM  uint32_t            : 1;
      __IOM uint32_t RSTIPOL    : 1;            /*!< [16..16] desc RSTIPOL                                                     */
      __IOM uint32_t TRGIPOL    : 1;            /*!< [17..17] desc TRGIPOL                                                     */
    } SMCR_f;
  } ;

  union {
    __IOM uint32_t IER;                        /*!< (@ 0x0000000C) Interrupt enable register                                   */

    struct {
      __IOM uint32_t UIE        : 1;            /*!< [0..0] desc UIE                                                           */
      __IM  uint32_t            : 5;
      __IOM uint32_t TIE        : 1;            /*!< [6..6] desc TIE                                                           */
    } IER_f;
  } ;

  union {
    __IM  uint32_t ISR;                         /*!< (@ 0x00000010) Interrupt status register                                  */

    struct {
      __IM  uint32_t UIF        : 1;            /*!< [0..0] desc UIF                                                           */
      __IM  uint32_t            : 5;
      __IM  uint32_t TIF        : 1;            /*!< [6..6] desc TIF                                                           */
    } ISR_f;
  } ;

  union {
    __OM  uint32_t EGR;                         /*!< (@ 0x00000014) Event Generate register                                    */

    struct {
      __OM  uint32_t UG         : 1;            /*!< [0..0] desc UG                                                            */
      __IM  uint32_t            : 5;
      __OM  uint32_t TG         : 1;            /*!< [6..6] desc TG                                                            */
    } EGR_f;
  } ;

  union {
    __IOM uint32_t ICR;                         /*!< (@ 0x00000018) Interrupt flag clear register                              */

    struct {
      __IOM uint32_t UIF        : 1;            /*!< [0..0] desc UIF                                                           */
      __IM  uint32_t            : 5;
      __IOM uint32_t TIF        : 1;            /*!< [6..6] desc TIF                                                           */
    } ICR_f;
  } ;
  __IM  uint32_t  RESERVED[2];

  union {
    __IOM uint32_t CNT;                         /*!< (@ 0x00000024) Counter Register                                           */

    struct {
      __IOM uint32_t CNT        : 16;           /*!< [15..0] desc CNT                                                          */
      __IM  uint32_t            : 15;
      __IM  uint32_t UIFCPY     : 1;            /*!< [31..31] desc UIFCPY                                                      */
    } CNT_f;
  } ;

  union {
    __IOM uint32_t PSC;                         /*!< (@ 0x00000028) Prescaler Control Register                                 */

    struct {
      __IOM uint32_t PSC        : 16;           /*!< [15..0] desc PSC                                                          */
    } PSC_f;
  } ;

  union {
    __IOM uint32_t ARR;                         /*!< (@ 0x0000002C) Auto Reload Register                                       */

    struct {
      __IOM uint32_t ARR        : 16;           /*!< [15..0] desc ARR                                                          */
    } ARR_f;
  } ;
} BTIM_TypeDef;                                    /*!< Size = 48 (0x30)                                                          */



/* =========================================================================================================================== */
/* ================                                            CRC                                            ================ */
/* =========================================================================================================================== */


/**
  * @brief desc CRC (CRC)
  */

typedef struct {                                /*!< (@ 0x40023000) CRC Structure                                              */

  union {
    __IOM uint32_t CR;                          /*!< (@ 0x00000000) Control register                                           */

    struct {
      __IOM uint32_t MODE       : 4;            /*!< [3..0] desc MODE                                                          */
    } CR_f;
  } ;
  __IM  uint32_t  RESERVED;

  union {
    __IOM uint32_t DR;                          /*!< (@ 0x00000008) Data register                                              */

    struct {
      __IOM uint32_t DR         : 8;            /*!< [7..0] desc DR                                                            */
    } DR_f;
  } ;

  union {
    __IM  uint32_t RESULT;                      /*!< (@ 0x0000000C) Result register                                            */

    struct {
      __IM  uint32_t RESULT     : 16;           /*!< [15..0] desc RESULT                                                       */
    } RESULT_f;
  } ;
} CRC_TypeDef;                                     /*!< Size = 20 (0x14)                                                          */



/* =========================================================================================================================== */
/* ================                                           FLASH                                           ================ */
/* =========================================================================================================================== */


/**
  * @brief desc FLASH (FLASH)
  */

typedef struct {                                /*!< (@ 0x40022000) FLASH Structure                                            */

  union {
    __IOM uint32_t CR1;                         /*!< (@ 0x00000000) Control register1                                          */

    struct {
      __IOM uint32_t MODE       : 2;            /*!< [1..0] desc MODE                                                          */
      __IM  uint32_t            : 3;
      __IM  uint32_t SECURITY   : 2;            /*!< [6..5] desc SECURITY                                                      */
      __IM  uint32_t            : 9;
      __OM  uint32_t KEY        : 16;           /*!< [31..16] desc KEY                                                         */
    } CR1_f;
  } ;

  union {
    __IOM uint32_t CR2;                         /*!< (@ 0x00000004) Control register2                                          */

    struct {
      __IOM uint32_t WAIT       : 3;            /*!< [2..0] desc WAIT                                                          */
      __IM  uint32_t            : 13;
      __OM  uint32_t KEY        : 16;           /*!< [31..16] desc KEY                                                         */
    } CR2_f;
  } ;

  union {
    __IOM uint32_t PAGELOCK;                    /*!< (@ 0x00000008) Page Write Erase Lock                                      */

    struct {
      __IOM uint32_t LOCK0      : 1;            /*!< [0..0] Page0 - 7                                                          */
      __IOM uint32_t LOCK1      : 1;            /*!< [1..1] Page8 - 15                                                         */
      __IOM uint32_t LOCK2      : 1;            /*!< [2..2] Page16 - 23                                                        */
      __IOM uint32_t LOCK3      : 1;            /*!< [3..3] Page24 - 31                                                        */
      __IOM uint32_t LOCK4      : 1;            /*!< [4..4] Page32 - 39                                                        */
      __IOM uint32_t LOCK5      : 1;            /*!< [5..5] Page40 - 47                                                        */
      __IOM uint32_t LOCK6      : 1;            /*!< [6..6] Page48 - 55                                                        */
      __IOM uint32_t LOCK7      : 1;            /*!< [7..7] Page56 - 63                                                        */
      __IOM uint32_t LOCK8      : 1;            /*!< [8..8] Page64 - 71                                                        */
      __IOM uint32_t LOCK9      : 1;            /*!< [9..9] Page72 - 79                                                        */
      __IOM uint32_t LOCK10     : 1;            /*!< [10..10] Page80 - 87                                                      */
      __IOM uint32_t LOCK11     : 1;            /*!< [11..11] Page88 - 95                                                      */
      __IOM uint32_t LOCK12     : 1;            /*!< [12..12] Page96 - 103                                                     */
      __IOM uint32_t LOCK13     : 1;            /*!< [13..13] Page104 - 111                                                    */
      __IOM uint32_t LOCK14     : 1;            /*!< [14..14] Page112 - 119                                                    */
      __IOM uint32_t LOCK15     : 1;            /*!< [15..15] Page120 - 127                                                    */
      __OM  uint32_t KEY        : 16;           /*!< [31..16] desc KEY                                                         */
    } PAGELOCK_f;
  } ;
  __IM  uint32_t  RESERVED[5];

  union {
    __IOM uint32_t IER;                         /*!< (@ 0x00000020) Interrupt enable register                                  */

    struct {
      __IOM uint32_t PC         : 1;            /*!< [0..0] desc PC                                                            */
      __IOM uint32_t PAGELOCK   : 1;            /*!< [1..1] desc PAGELOCK                                                          */
      __IM  uint32_t            : 2;
      __IOM uint32_t PROG       : 1;            /*!< [4..4] desc PROG                                                          */
    } IER_f;
  } ;

  union {
    __IM  uint32_t ISR;                         /*!< (@ 0x00000024) Interrupt status register                                  */

    struct {
      __IM  uint32_t PC         : 1;            /*!< [0..0] desc PC                                                            */
      __IM  uint32_t PAGELOCK   : 1;            /*!< [1..1] desc PAGELOCK                                                      */
      __IM  uint32_t            : 2;
      __IM  uint32_t PROG       : 1;            /*!< [4..4] desc PROG                                                          */
      __IM  uint32_t BUSY       : 1;            /*!< [5..5] desc BUSY                                                          */
    } ISR_f;
  } ;

  union {
    __IOM uint32_t ICR;                         /*!< (@ 0x00000028) Interrupt flag clear register                              */

    struct {
      __IOM uint32_t PC         : 1;            /*!< [0..0] desc PC                                                            */
      __IOM uint32_t PAGELOCK   : 1;            /*!< [1..1] desc PAGELOCK                                                          */
      __IM  uint32_t            : 2;
      __IOM uint32_t PROG       : 1;            /*!< [4..4] desc PROG                                                          */
    } ICR_f;
  } ;
  __IM  uint32_t  RESERVED1[17];

  union {
    __IM  uint32_t SDKCFR;                      /*!< (@ 0x00000070) SDK config register                                        */

    struct {
      __IM  uint32_t START      : 7;            /*!< [6..0] desc START                                                         */
      __IM  uint32_t            : 1;
      __IM  uint32_t END        : 7;            /*!< [14..8] desc END                                                          */
    } SDKCFR_f;
  } ;
} FLASH_TypeDef;                                   /*!< Size = 116 (0x74)                                                         */



/* =========================================================================================================================== */
/* ================                                           GPIOA                                           ================ */
/* =========================================================================================================================== */


/**
  * @brief desc GPIOA (GPIOA)
  */

typedef struct {                                /*!< (@ 0x48000000) GPIOA Structure                                            */

  union {
    __IOM uint32_t DIR;                         /*!< (@ 0x00000000) desc DIR                                                   */

    struct {
      __IOM uint32_t PIN0       : 1;            /*!< [0..0] desc PIN0                                                          */
      __IOM uint32_t PIN1       : 1;            /*!< [1..1] desc PIN1                                                          */
      __IOM uint32_t PIN2       : 1;            /*!< [2..2] desc PIN2                                                          */
      __IOM uint32_t PIN3       : 1;            /*!< [3..3] desc PIN3                                                          */
      __IOM uint32_t PIN4       : 1;            /*!< [4..4] desc PIN4                                                          */
      __IOM uint32_t PIN5       : 1;            /*!< [5..5] desc PIN5                                                          */
      __IOM uint32_t PIN6       : 1;            /*!< [6..6] desc PIN6                                                          */
      __IOM uint32_t PIN7       : 1;            /*!< [7..7] desc PIN7                                                          */
      __IOM uint32_t PIN8       : 1;            /*!< [8..8] desc PIN8                                                          */
    } DIR_f;
  } ;

  union {
    __IOM uint32_t OPENDRAIN;                   /*!< (@ 0x00000004) desc OPENDRAIN                                             */

    struct {
      __IOM uint32_t PIN0       : 1;            /*!< [0..0] desc PIN0                                                          */
      __IOM uint32_t PIN1       : 1;            /*!< [1..1] desc PIN1                                                          */
      __IOM uint32_t PIN2       : 1;            /*!< [2..2] desc PIN2                                                          */
      __IOM uint32_t PIN3       : 1;            /*!< [3..3] desc PIN3                                                          */
      __IOM uint32_t PIN4       : 1;            /*!< [4..4] desc PIN4                                                          */
      __IOM uint32_t PIN5       : 1;            /*!< [5..5] desc PIN5                                                          */
      __IOM uint32_t PIN6       : 1;            /*!< [6..6] desc PIN6                                                          */
      __IOM uint32_t PIN7       : 1;            /*!< [7..7] desc PIN7                                                          */
      __IOM uint32_t PIN8       : 1;            /*!< [8..8] desc PIN8                                                          */
    } OPENDRAIN_f;
  } ;
  __IM  uint32_t  RESERVED[2];

  union {
    __IOM uint32_t PUR;                         /*!< (@ 0x00000010) desc PUR                                                   */

    struct {
      __IOM uint32_t PIN0       : 1;            /*!< [0..0] desc PIN0                                                          */
      __IOM uint32_t PIN1       : 1;            /*!< [1..1] desc PIN1                                                          */
      __IOM uint32_t PIN2       : 1;            /*!< [2..2] desc PIN2                                                          */
      __IOM uint32_t PIN3       : 1;            /*!< [3..3] desc PIN3                                                          */
      __IOM uint32_t PIN4       : 1;            /*!< [4..4] desc PIN4                                                          */
      __IOM uint32_t PIN5       : 1;            /*!< [5..5] desc PIN5                                                          */
      __IOM uint32_t PIN6       : 1;            /*!< [6..6] desc PIN6                                                          */
      __IOM uint32_t PIN7       : 1;            /*!< [7..7] desc PIN7                                                          */
      __IOM uint32_t PIN8       : 1;            /*!< [8..8] desc PIN8                                                          */
    } PUR_f;
  } ;

  union {
    __IOM uint32_t AFRH;                        /*!< (@ 0x00000014) desc AFRH                                                  */

    struct {
      __IOM uint32_t AFR8       : 3;            /*!< [2..0] desc AFR8                                                          */
    } AFRH_f;
  } ;

  union {
    __IOM uint32_t AFRL;                        /*!< (@ 0x00000018) desc AFRL                                                  */

    struct {
      __IOM uint32_t AFR0       : 3;            /*!< [2..0] desc AFR0                                                          */
      __IM  uint32_t            : 1;
      __IOM uint32_t AFR1       : 3;            /*!< [6..4] desc AFR1                                                          */
      __IM  uint32_t            : 1;
      __IOM uint32_t AFR2       : 3;            /*!< [10..8] desc AFR2                                                         */
      __IM  uint32_t            : 1;
      __IOM uint32_t AFR3       : 3;            /*!< [14..12] desc AFR3                                                        */
      __IM  uint32_t            : 1;
      __IOM uint32_t AFR4       : 3;            /*!< [18..16] desc AFR4                                                        */
      __IM  uint32_t            : 1;
      __IOM uint32_t AFR5       : 3;            /*!< [22..20] desc AFR5                                                        */
      __IM  uint32_t            : 1;
      __IOM uint32_t AFR6       : 3;            /*!< [26..24] desc AFR6                                                        */
      __IM  uint32_t            : 1;
      __IOM uint32_t AFR7       : 3;            /*!< [30..28] desc AFR7                                                        */
    } AFRL_f;
  } ;

  union {
    __IOM uint32_t ANALOG;                      /*!< (@ 0x0000001C) desc ANALOG                                                */

    struct {
      __IOM uint32_t PIN0       : 1;            /*!< [0..0] desc PIN0                                                          */
      __IOM uint32_t PIN1       : 1;            /*!< [1..1] desc PIN1                                                          */
      __IOM uint32_t PIN2       : 1;            /*!< [2..2] desc PIN2                                                          */
      __IOM uint32_t PIN3       : 1;            /*!< [3..3] desc PIN3                                                          */
      __IOM uint32_t PIN4       : 1;            /*!< [4..4] desc PIN4                                                          */
      __IOM uint32_t PIN5       : 1;            /*!< [5..5] desc PIN5                                                          */
      __IOM uint32_t PIN6       : 1;            /*!< [6..6] desc PIN6                                                          */
      __IOM uint32_t PIN7       : 1;            /*!< [7..7] desc PIN7                                                          */
      __IOM uint32_t PIN8       : 1;            /*!< [8..8] desc PIN8                                                          */
    } ANALOG_f;
  } ;
  __IM  uint32_t  RESERVED1;

  union {
    __IOM uint32_t RISEIE;                      /*!< (@ 0x00000024) Interrupt enable register                                  */

    struct {
      __IOM uint32_t PIN0       : 1;            /*!< [0..0] desc PIN0                                                          */
      __IOM uint32_t PIN1       : 1;            /*!< [1..1] desc PIN1                                                          */
      __IOM uint32_t PIN2       : 1;            /*!< [2..2] desc PIN2                                                          */
      __IOM uint32_t PIN3       : 1;            /*!< [3..3] desc PIN3                                                          */
      __IOM uint32_t PIN4       : 1;            /*!< [4..4] desc PIN4                                                          */
      __IOM uint32_t PIN5       : 1;            /*!< [5..5] desc PIN5                                                          */
      __IOM uint32_t PIN6       : 1;            /*!< [6..6] desc PIN6                                                          */
      __IOM uint32_t PIN7       : 1;            /*!< [7..7] desc PIN7                                                          */
      __IOM uint32_t PIN8       : 1;            /*!< [8..8] desc PIN8                                                          */
    } RISEIE_f;
  } ;

  union {
    __IOM uint32_t FALLIE;                      /*!< (@ 0x00000028) Interrupt enable register                                  */

    struct {
      __IOM uint32_t PIN0       : 1;            /*!< [0..0] desc PIN0                                                          */
      __IOM uint32_t PIN1       : 1;            /*!< [1..1] desc PIN1                                                          */
      __IOM uint32_t PIN2       : 1;            /*!< [2..2] desc PIN2                                                          */
      __IOM uint32_t PIN3       : 1;            /*!< [3..3] desc PIN3                                                          */
      __IOM uint32_t PIN4       : 1;            /*!< [4..4] desc PIN4                                                          */
      __IOM uint32_t PIN5       : 1;            /*!< [5..5] desc PIN5                                                          */
      __IOM uint32_t PIN6       : 1;            /*!< [6..6] desc PIN6                                                          */
      __IOM uint32_t PIN7       : 1;            /*!< [7..7] desc PIN7                                                          */
      __IOM uint32_t PIN8       : 1;            /*!< [8..8] desc PIN8                                                          */
    } FALLIE_f;
  } ;
  __IM  uint32_t  RESERVED2[2];

  union {
    __IOM uint32_t ISR;                         /*!< (@ 0x00000034) Interrupt status register                                  */

    struct {
      __IOM uint32_t PIN0       : 1;            /*!< [0..0] desc PIN0                                                          */
      __IOM uint32_t PIN1       : 1;            /*!< [1..1] desc PIN1                                                          */
      __IOM uint32_t PIN2       : 1;            /*!< [2..2] desc PIN2                                                          */
      __IOM uint32_t PIN3       : 1;            /*!< [3..3] desc PIN3                                                          */
      __IOM uint32_t PIN4       : 1;            /*!< [4..4] desc PIN4                                                          */
      __IOM uint32_t PIN5       : 1;            /*!< [5..5] desc PIN5                                                          */
      __IOM uint32_t PIN6       : 1;            /*!< [6..6] desc PIN6                                                          */
      __IOM uint32_t PIN7       : 1;            /*!< [7..7] desc PIN7                                                          */
      __IOM uint32_t PIN8       : 1;            /*!< [8..8] desc PIN8                                                          */
    } ISR_f;
  } ;

  union {
    __IOM uint32_t ICR;                         /*!< (@ 0x00000038) Interrupt flag clear register                              */

    struct {
      __IOM uint32_t PIN0       : 1;            /*!< [0..0] desc PIN0                                                          */
      __IOM uint32_t PIN1       : 1;            /*!< [1..1] desc PIN1                                                          */
      __IOM uint32_t PIN2       : 1;            /*!< [2..2] desc PIN2                                                          */
      __IOM uint32_t PIN3       : 1;            /*!< [3..3] desc PIN3                                                          */
      __IOM uint32_t PIN4       : 1;            /*!< [4..4] desc PIN4                                                          */
      __IOM uint32_t PIN5       : 1;            /*!< [5..5] desc PIN5                                                          */
      __IOM uint32_t PIN6       : 1;            /*!< [6..6] desc PIN6                                                          */
      __IOM uint32_t PIN7       : 1;            /*!< [7..7] desc PIN7                                                          */
      __IOM uint32_t PIN8       : 1;            /*!< [8..8] desc PIN8                                                          */
    } ICR_f;
  } ;
  __IM  uint32_t  RESERVED3;

  union {
    __IOM uint32_t FILTER;                      /*!< (@ 0x00000040) desc FILTER                                                */

    struct {
      __IOM uint32_t PIN0       : 1;            /*!< [0..0] desc PIN0                                                          */
      __IOM uint32_t PIN1       : 1;            /*!< [1..1] desc PIN1                                                          */
      __IOM uint32_t PIN2       : 1;            /*!< [2..2] desc PIN2                                                          */
      __IOM uint32_t PIN3       : 1;            /*!< [3..3] desc PIN3                                                          */
      __IOM uint32_t PIN4       : 1;            /*!< [4..4] desc PIN4                                                          */
      __IOM uint32_t PIN5       : 1;            /*!< [5..5] desc PIN5                                                          */
      __IOM uint32_t PIN6       : 1;            /*!< [6..6] desc PIN6                                                          */
      __IOM uint32_t PIN7       : 1;            /*!< [7..7] desc PIN7                                                          */
      __IOM uint32_t PIN8       : 1;            /*!< [8..8] desc PIN8                                                          */
      __IM  uint32_t            : 7;
      __IOM uint32_t FLTCLK     : 3;            /*!< [18..16] desc FLTCLK                                                      */
    } FILTER_f;
  } ;
  __IM  uint32_t  RESERVED4[3];

  union {
    __IOM uint32_t IDR;                         /*!< (@ 0x00000050) desc IDR                                                   */

    struct {
      __IOM uint32_t PIN0       : 1;            /*!< [0..0] desc PIN0                                                          */
      __IOM uint32_t PIN1       : 1;            /*!< [1..1] desc PIN1                                                          */
      __IOM uint32_t PIN2       : 1;            /*!< [2..2] desc PIN2                                                          */
      __IOM uint32_t PIN3       : 1;            /*!< [3..3] desc PIN3                                                          */
      __IOM uint32_t PIN4       : 1;            /*!< [4..4] desc PIN4                                                          */
      __IOM uint32_t PIN5       : 1;            /*!< [5..5] desc PIN5                                                          */
      __IOM uint32_t PIN6       : 1;            /*!< [6..6] desc PIN6                                                          */
      __IOM uint32_t PIN7       : 1;            /*!< [7..7] desc PIN7                                                          */
      __IOM uint32_t PIN8       : 1;            /*!< [8..8] desc PIN8                                                          */
    } IDR_f;
  } ;

  union {
    __IOM uint32_t ODR;                         /*!< (@ 0x00000054) desc ODR                                                   */

    struct {
      __IOM uint32_t PIN0       : 1;            /*!< [0..0] desc PIN0                                                          */
      __IOM uint32_t PIN1       : 1;            /*!< [1..1] desc PIN1                                                          */
      __IOM uint32_t PIN2       : 1;            /*!< [2..2] desc PIN2                                                          */
      __IOM uint32_t PIN3       : 1;            /*!< [3..3] desc PIN3                                                          */
      __IOM uint32_t PIN4       : 1;            /*!< [4..4] desc PIN4                                                          */
      __IOM uint32_t PIN5       : 1;            /*!< [5..5] desc PIN5                                                          */
      __IOM uint32_t PIN6       : 1;            /*!< [6..6] desc PIN6                                                          */
      __IOM uint32_t PIN7       : 1;            /*!< [7..7] desc PIN7                                                          */
      __IOM uint32_t PIN8       : 1;            /*!< [8..8] desc PIN8                                                          */
    } ODR_f;
  } ;

  union {
    __IOM uint32_t BRR;                         /*!< (@ 0x00000058) desc BRR                                                   */

    struct {
      __IOM uint32_t BRR0       : 1;            /*!< [0..0] desc BRR0                                                          */
      __IOM uint32_t BRR1       : 1;            /*!< [1..1] desc BRR1                                                          */
      __IOM uint32_t BRR2       : 1;            /*!< [2..2] desc BRR2                                                          */
      __IOM uint32_t BRR3       : 1;            /*!< [3..3] desc BRR3                                                          */
      __IOM uint32_t BRR4       : 1;            /*!< [4..4] desc BRR4                                                          */
      __IOM uint32_t BRR5       : 1;            /*!< [5..5] desc BRR5                                                          */
      __IOM uint32_t BRR6       : 1;            /*!< [6..6] desc BRR6                                                          */
      __IOM uint32_t BRR7       : 1;            /*!< [7..7] desc BRR7                                                          */
      __IOM uint32_t BRR8       : 1;            /*!< [8..8] desc BRR8                                                          */
    } BRR_f;
  } ;

  union {
    __IOM uint32_t BSRR;                        /*!< (@ 0x0000005C) desc BSRR                                                  */

    struct {
      __IOM uint32_t BSS0       : 1;            /*!< [0..0] desc BSS0                                                          */
      __IOM uint32_t BSS1       : 1;            /*!< [1..1] desc BSS1                                                          */
      __IOM uint32_t BSS2       : 1;            /*!< [2..2] desc BSS2                                                          */
      __IOM uint32_t BSS3       : 1;            /*!< [3..3] desc BSS3                                                          */
      __IOM uint32_t BSS4       : 1;            /*!< [4..4] desc BSS4                                                          */
      __IOM uint32_t BSS5       : 1;            /*!< [5..5] desc BSS5                                                          */
      __IOM uint32_t BSS6       : 1;            /*!< [6..6] desc BSS6                                                          */
      __IOM uint32_t BSS7       : 1;            /*!< [7..7] desc BSS7                                                          */
      __IOM uint32_t BSS8       : 1;            /*!< [8..8] desc BSS8                                                          */
      __IM  uint32_t            : 7;
      __IOM uint32_t BRR0       : 1;            /*!< [16..16] desc BRR0                                                        */
      __IOM uint32_t BRR1       : 1;            /*!< [17..17] desc BRR1                                                        */
      __IOM uint32_t BRR2       : 1;            /*!< [18..18] desc BRR2                                                        */
      __IOM uint32_t BRR3       : 1;            /*!< [19..19] desc BRR3                                                        */
      __IOM uint32_t BRR4       : 1;            /*!< [20..20] desc BRR4                                                        */
      __IOM uint32_t BRR5       : 1;            /*!< [21..21] desc BRR5                                                        */
      __IOM uint32_t BRR6       : 1;            /*!< [22..22] desc BRR6                                                        */
      __IOM uint32_t BRR7       : 1;            /*!< [23..23] desc BRR7                                                        */
      __IOM uint32_t BRR8       : 1;            /*!< [24..24] desc BRR8                                                        */
    } BSRR_f;
  } ;

  union {
    __IOM uint32_t TOG;                         /*!< (@ 0x00000060) desc TOG                                                   */

    struct {
      __IOM uint32_t PIN0       : 1;            /*!< [0..0] desc PIN0                                                          */
      __IOM uint32_t PIN1       : 1;            /*!< [1..1] desc PIN1                                                          */
      __IOM uint32_t PIN2       : 1;            /*!< [2..2] desc PIN2                                                          */
      __IOM uint32_t PIN3       : 1;            /*!< [3..3] desc PIN3                                                          */
      __IOM uint32_t PIN4       : 1;            /*!< [4..4] desc PIN4                                                          */
      __IOM uint32_t PIN5       : 1;            /*!< [5..5] desc PIN5                                                          */
      __IOM uint32_t PIN6       : 1;            /*!< [6..6] desc PIN6                                                          */
      __IOM uint32_t PIN7       : 1;            /*!< [7..7] desc PIN7                                                          */
      __IOM uint32_t PIN8       : 1;            /*!< [8..8] desc PIN8                                                          */
    } TOG_f;
  } ;
} GPIO_TypeDef;                                 /*!< Size = 100 (0x64)                                                         */



/* =========================================================================================================================== */
/* ================                                           GTIM1                                           ================ */
/* =========================================================================================================================== */


/**
  * @brief General Timer 1 (GTIM1)
  */

typedef struct {                                /*!< (@ 0x40001800) GTIM1 Structure                                            */

  union {
    __IOM uint32_t CR1;                         /*!< (@ 0x00000000) Control register1                                          */

    struct {
      __IOM uint32_t CEN        : 1;            /*!< [0..0] desc CEN                                                           */
      __IOM uint32_t UDIS       : 1;            /*!< [1..1] desc UDIS                                                          */
      __IOM uint32_t URS        : 1;            /*!< [2..2] desc URS                                                           */
      __IOM uint32_t OPM        : 1;            /*!< [3..3] desc OPM                                                           */
      __IOM uint32_t DIR        : 1;            /*!< [4..4] desc DIR                                                           */
      __IOM uint32_t CMS        : 2;            /*!< [6..5] desc CMS                                                           */
      __IOM uint32_t ARPE       : 1;            /*!< [7..7] desc ARPE                                                          */
      __IOM uint32_t CKD        : 2;            /*!< [9..8] desc CKD                                                           */
      __IM  uint32_t            : 1;
      __IOM uint32_t UIFREMAP   : 1;            /*!< [11..11] desc UIFREMAP                                                    */
    } CR1_f;
  } ;

  union {
    __IOM uint32_t CR2;                         /*!< (@ 0x00000004) Control register2                                          */

    struct {
      __IM  uint32_t            : 4;
      __IOM uint32_t MMS        : 3;            /*!< [6..4] desc MMS                                                           */
      __IOM uint32_t TI1S       : 1;            /*!< [7..7] desc TI1S                                                          */
      __IM  uint32_t            : 17;
      __IOM uint32_t MMSH       : 2;            /*!< [26..25] desc MMSH                                                        */
    } CR2_f;
  } ;

  union {
    __IOM uint32_t SMCR;                        /*!< (@ 0x00000008) Slave Mode control register                                */

    struct {
      __IOM uint32_t SMS        : 3;            /*!< [2..0] desc SMS                                                           */
      __IOM uint32_t OCCS       : 1;            /*!< [3..3] desc OCCS                                                          */
      __IOM uint32_t TS         : 3;            /*!< [6..4] desc TS                                                            */
      __IOM uint32_t MSM        : 1;            /*!< [7..7] desc MSM                                                           */
      __IOM uint32_t ETF        : 4;            /*!< [11..8] desc ETF                                                          */
      __IOM uint32_t ETPS       : 2;            /*!< [13..12] desc ETPS                                                        */
      __IOM uint32_t ECE        : 1;            /*!< [14..14] desc ECE                                                         */
      __IOM uint32_t ETP        : 1;            /*!< [15..15] desc ETP                                                         */
      __IOM uint32_t SMSH       : 1;            /*!< [16..16] desc SMSH                                                        */
      __IM  uint32_t            : 3;
      __IOM uint32_t TSH        : 2;            /*!< [21..20] desc TSH                                                         */
      __IM  uint32_t            : 2;
      __IOM uint32_t SMSPE      : 1;            /*!< [24..24] desc SMSPE                                                       */
      __IOM uint32_t SMSPS      : 1;            /*!< [25..25] desc SMSPS                                                       */
    } SMCR_f;
  } ;

  union {
    __IOM uint32_t IER;                        /*!< (@ 0x0000000C) DMA Interrupt control register                             */

    struct {
      __IOM uint32_t UIE        : 1;            /*!< [0..0] desc UIE                                                           */
      __IOM uint32_t CC1IE      : 1;            /*!< [1..1] desc CC1IE                                                         */
      __IOM uint32_t CC2IE      : 1;            /*!< [2..2] desc CC2IE                                                         */
      __IOM uint32_t CC3IE      : 1;            /*!< [3..3] desc CC3IE                                                         */
      __IOM uint32_t CC4IE      : 1;            /*!< [4..4] desc CC4IE                                                         */
      __IM  uint32_t            : 1;
      __IOM uint32_t TIE        : 1;            /*!< [6..6] desc TIE                                                           */
      __IM  uint32_t            : 13;
      __IOM uint32_t IDXIE      : 1;            /*!< [20..20] desc IDXIE                                                       */
      __IOM uint32_t DIRIE      : 1;            /*!< [21..21] desc DIRIE                                                       */
      __IOM uint32_t IERRIE     : 1;            /*!< [22..22] desc IERRIE                                                      */
      __IOM uint32_t TERRIE     : 1;            /*!< [23..23] desc TERRIE                                                      */
    } IER_f;
  } ;

  union {
    __IOM uint32_t ISR;                         /*!< (@ 0x00000010) Interrupt status register                                  */

    struct {
      __IOM uint32_t UIF        : 1;            /*!< [0..0] desc UIF                                                           */
      __IOM uint32_t CC1IF      : 1;            /*!< [1..1] desc CC1IF                                                         */
      __IOM uint32_t CC2IF      : 1;            /*!< [2..2] desc CC2IF                                                         */
      __IOM uint32_t CC3IF      : 1;            /*!< [3..3] desc CC3IF                                                         */
      __IOM uint32_t CC4IF      : 1;            /*!< [4..4] desc CC4IF                                                         */
      __IM  uint32_t            : 1;
      __IOM uint32_t TIF        : 1;            /*!< [6..6] desc TIF                                                           */
      __IM  uint32_t            : 2;
      __IOM uint32_t CC1OF      : 1;            /*!< [9..9] desc CC1OF                                                         */
      __IOM uint32_t CC2OF      : 1;            /*!< [10..10] desc CC2OF                                                       */
      __IOM uint32_t CC3OF      : 1;            /*!< [11..11] desc CC3OF                                                       */
      __IOM uint32_t CC4OF      : 1;            /*!< [12..12] desc CC4OF                                                       */
      __IM  uint32_t            : 7;
      __IOM uint32_t IDXF       : 1;            /*!< [20..20] desc IDXF                                                        */
      __IOM uint32_t DIRF       : 1;            /*!< [21..21] desc DIRF                                                        */
      __IOM uint32_t IERRF      : 1;            /*!< [22..22] desc IERRF                                                       */
      __IOM uint32_t TERRF      : 1;            /*!< [23..23] desc TERRF                                                       */
    } ISR_f;
  } ;

  union {
    __IOM uint32_t EGR;                         /*!< (@ 0x00000014) Event Generate register                                    */

    struct {
      __IOM uint32_t UG         : 1;            /*!< [0..0] desc UG                                                            */
      __IOM uint32_t CC1G       : 1;            /*!< [1..1] desc CC1G                                                          */
      __IOM uint32_t CC2G       : 1;            /*!< [2..2] desc CC2G                                                          */
      __IOM uint32_t CC3G       : 1;            /*!< [3..3] desc CC3G                                                          */
      __IOM uint32_t CC4G       : 1;            /*!< [4..4] desc CC4G                                                          */
      __IM  uint32_t            : 1;
      __IOM uint32_t TG         : 1;            /*!< [6..6] desc TG                                                            */
    } EGR_f;
  } ;

  union {
    union {
      __IOM uint32_t CCMR1CAP;                  /*!< (@ 0x00000018) Capture control Register1                                  */

      struct {
        __IOM uint32_t CC1S     : 2;            /*!< [1..0] desc CC1S                                                          */
        __IOM uint32_t IC1PSC   : 2;            /*!< [3..2] desc IC1PSC                                                        */
        __IOM uint32_t IC1F     : 4;            /*!< [7..4] desc IC1F                                                          */
        __IOM uint32_t CC2S     : 2;            /*!< [9..8] desc CC2S                                                          */
        __IOM uint32_t IC2PSC   : 2;            /*!< [11..10] desc IC2PSC                                                      */
        __IOM uint32_t IC2F     : 4;            /*!< [15..12] desc IC2F                                                        */
      } CCMR1CAP_f;
    } ;

    union {
      __IOM uint32_t CCMR1CMP;                  /*!< (@ 0x00000018) Compare control Register1                                  */

      struct {
        __IOM uint32_t CC1S     : 2;            /*!< [1..0] desc CC1S                                                          */
        __IOM uint32_t OC1FE    : 1;            /*!< [2..2] desc OC1FE                                                         */
        __IOM uint32_t OC1PE    : 1;            /*!< [3..3] desc OC1PE                                                         */
        __IOM uint32_t OC1M     : 3;            /*!< [6..4] desc OC1M                                                          */
        __IOM uint32_t OC1CE    : 1;            /*!< [7..7] desc OC1CE                                                         */
        __IOM uint32_t CC2S     : 2;            /*!< [9..8] desc CC2S                                                          */
        __IOM uint32_t OC2FE    : 1;            /*!< [10..10] desc OC2FE                                                       */
        __IOM uint32_t OC2PE    : 1;            /*!< [11..11] desc OC2PE                                                       */
        __IOM uint32_t OC2M     : 3;            /*!< [14..12] desc OC2M                                                        */
        __IOM uint32_t OC2CE    : 1;            /*!< [15..15] desc OC2CE                                                       */
        __IOM uint32_t OC1MH    : 1;            /*!< [16..16] desc OC1MH                                                       */
        __IM  uint32_t          : 7;
        __IOM uint32_t OC2MH    : 1;            /*!< [24..24] desc OC2MH                                                       */
      } CCMR1CMP_f;
    } ;
  };

  union {
    union {
      __IOM uint32_t CCMR2CAP;                  /*!< (@ 0x0000001C) Capture control Register2                                  */

      struct {
        __IOM uint32_t CC3S     : 2;            /*!< [1..0] desc CC3S                                                          */
        __IOM uint32_t IC3PSC   : 2;            /*!< [3..2] desc IC3PSC                                                        */
        __IOM uint32_t IC3F     : 4;            /*!< [7..4] desc IC3F                                                          */
        __IOM uint32_t CC4S     : 2;            /*!< [9..8] desc CC4S                                                          */
        __IOM uint32_t IC4PSC   : 2;            /*!< [11..10] desc IC4PSC                                                      */
        __IOM uint32_t IC4F     : 4;            /*!< [15..12] desc IC4F                                                        */
      } CCMR2CAP_f;
    } ;

    union {
      __IOM uint32_t CCMR2CMP;                  /*!< (@ 0x0000001C) Compare control Register2                                  */

      struct {
        __IOM uint32_t CC3S     : 2;            /*!< [1..0] desc CC3S                                                          */
        __IOM uint32_t OC3FE    : 1;            /*!< [2..2] desc OC3FE                                                         */
        __IOM uint32_t OC3PE    : 1;            /*!< [3..3] desc OC3PE                                                         */
        __IOM uint32_t OC3M     : 3;            /*!< [6..4] desc OC3M                                                          */
        __IOM uint32_t OC3CE    : 1;            /*!< [7..7] desc OC3CE                                                         */
        __IOM uint32_t CC4S     : 2;            /*!< [9..8] desc CC4S                                                          */
        __IOM uint32_t OC4FE    : 1;            /*!< [10..10] desc OC4FE                                                       */
        __IOM uint32_t OC4PE    : 1;            /*!< [11..11] desc OC4PE                                                       */
        __IOM uint32_t OC4M     : 3;            /*!< [14..12] desc OC4M                                                        */
        __IOM uint32_t OC4CE    : 1;            /*!< [15..15] desc OC4CE                                                       */
        __IOM uint32_t OC3MH    : 1;            /*!< [16..16] desc OC3MH                                                       */
        __IM  uint32_t          : 7;
        __IOM uint32_t OC4MH    : 1;            /*!< [24..24] desc OC4MH                                                       */
      } CCMR2CMP_f;
    } ;
  };

  union {
    __IOM uint32_t CCER;                        /*!< (@ 0x00000020) Capture compare Enable Register                            */

    struct {
      __IOM uint32_t CC1E       : 1;            /*!< [0..0] desc CC1E                                                          */
      __IOM uint32_t CC1P       : 1;            /*!< [1..1] desc CC1P                                                          */
      __IM  uint32_t            : 1;
      __IOM uint32_t CC1NP      : 1;            /*!< [3..3] desc CC1NP                                                         */
      __IOM uint32_t CC2E       : 1;            /*!< [4..4] desc CC2E                                                          */
      __IOM uint32_t CC2P       : 1;            /*!< [5..5] desc CC2P                                                          */
      __IM  uint32_t            : 1;
      __IOM uint32_t CC2NP      : 1;            /*!< [7..7] desc CC2NP                                                         */
      __IOM uint32_t CC3E       : 1;            /*!< [8..8] desc CC3E                                                          */
      __IOM uint32_t CC3P       : 1;            /*!< [9..9] desc CC3P                                                          */
      __IM  uint32_t            : 1;
      __IOM uint32_t CC3NP      : 1;            /*!< [11..11] desc CC3NP                                                       */
      __IOM uint32_t CC4E       : 1;            /*!< [12..12] desc CC4E                                                        */
      __IOM uint32_t CC4P       : 1;            /*!< [13..13] desc CC4P                                                        */
      __IM  uint32_t            : 1;
      __IOM uint32_t CC4NP      : 1;            /*!< [15..15] desc CC4NP                                                       */
    } CCER_f;
  } ;

  union {
    __IOM uint32_t CNT;                         /*!< (@ 0x00000024) Counter Register                                           */

    struct {
      __IOM uint32_t CNT        : 16;           /*!< [15..0] desc CNT                                                          */
      __IM  uint32_t            : 15;
      __IM  uint32_t UIFCPY     : 1;            /*!< [31..31] desc UIFCPY                                                      */
    } CNT_f;
  } ;

  union {
    __IOM uint32_t PSC;                         /*!< (@ 0x00000028) Prescaler Control Register                                 */

    struct {
      __IOM uint32_t PSC        : 16;           /*!< [15..0] desc PSC                                                          */
    } PSC_f;
  } ;

  union {
    __IOM uint32_t ARR;                         /*!< (@ 0x0000002C) Auto Reload Register                                       */

    struct {
      __IOM uint32_t ARR        : 16;           /*!< [15..0] desc ARR                                                          */
    } ARR_f;
  } ;
  __IM  uint32_t  RESERVED;

  union {
    __IOM uint32_t CCR1;                        /*!< (@ 0x00000034) Capture control Register1                                  */

    struct {
      __IOM uint32_t CCR1       : 16;           /*!< [15..0] desc CCR1                                                         */
    } CCR1_f;
  } ;

  union {
    __IOM uint32_t CCR2;                        /*!< (@ 0x00000038) Capture control Register2                                  */

    struct {
      __IOM uint32_t CCR2       : 16;           /*!< [15..0] desc CCR2                                                         */
    } CCR2_f;
  } ;

  union {
    __IOM uint32_t CCR3;                        /*!< (@ 0x0000003C) Capture control Register3                                  */

    struct {
      __IOM uint32_t CCR3       : 16;           /*!< [15..0] desc CCR3                                                         */
    } CCR3_f;
  } ;

  union {
    __IOM uint32_t CCR4;                        /*!< (@ 0x00000040) Capture control Register4                                  */

    struct {
      __IOM uint32_t CCR4       : 16;           /*!< [15..0] desc CCR4                                                         */
    } CCR4_f;
  } ;
  __IM  uint32_t  RESERVED1[5];

  union {
    __IOM uint32_t ECR;                         /*!< (@ 0x00000058) Encoder control Register                                   */

    struct {
      __IOM uint32_t IE         : 1;            /*!< [0..0] desc IE                                                            */
      __IOM uint32_t IDIR       : 2;            /*!< [2..1] desc IDIR                                                          */
      __IM  uint32_t            : 2;
      __IOM uint32_t FIDX       : 1;            /*!< [5..5] desc FIDX                                                          */
      __IOM uint32_t IPOS       : 2;            /*!< [7..6] desc IPOS                                                          */
    } ECR_f;
  } ;

  union {
    __IOM uint32_t TISEL;                       /*!< (@ 0x0000005C) Timer Input Select Register                                */

    struct {
      __IOM uint32_t TI1SEL     : 4;            /*!< [3..0] desc TI1SEL                                                        */
      __IM  uint32_t            : 4;
      __IOM uint32_t TI2SEL     : 4;            /*!< [11..8] desc TI2SEL                                                       */
      __IM  uint32_t            : 4;
      __IOM uint32_t TI3SEL     : 4;            /*!< [19..16] desc TI3SEL                                                      */
      __IM  uint32_t            : 4;
      __IOM uint32_t TI4SEL     : 4;            /*!< [27..24] desc TI4SEL                                                      */
    } TISEL_f;
  } ;

  union {
    __IOM uint32_t AF1;                         /*!< (@ 0x00000060) Alternate function Register1                               */

    struct {
      __IM  uint32_t            : 14;
      __IOM uint32_t ETRSEL     : 4;            /*!< [17..14] desc ETRSEL                                                      */
    } AF1_f;
  } ;

  union {
    __IOM uint32_t AF2;                         /*!< (@ 0x00000064) Alternate function Register2                               */

    struct {
      __IM  uint32_t            : 16;
      __IOM uint32_t OCRSEL     : 3;            /*!< [18..16] desc OCRSEL                                                      */
    } AF2_f;
  } ;
  __IM  uint32_t  RESERVED2[2];

  union {
    __IOM uint32_t ICR;                         /*!< (@ 0x00000070) Interrupt flag clear register                              */

    struct {
      __IOM uint32_t UIF        : 1;            /*!< [0..0] desc UIF                                                           */
      __IOM uint32_t CC1IF      : 1;            /*!< [1..1] desc CC1IF                                                         */
      __IOM uint32_t CC2IF      : 1;            /*!< [2..2] desc CC2IF                                                         */
      __IOM uint32_t CC3IF      : 1;            /*!< [3..3] desc CC3IF                                                         */
      __IOM uint32_t CC4IF      : 1;            /*!< [4..4] desc CC4IF                                                         */
      __IM  uint32_t            : 1;
      __IOM uint32_t TIF        : 1;            /*!< [6..6] desc TIF                                                           */
      __IM  uint32_t            : 2;
      __IOM uint32_t CC1OF      : 1;            /*!< [9..9] desc CC1OF                                                         */
      __IOM uint32_t CC2OF      : 1;            /*!< [10..10] desc CC2OF                                                       */
      __IOM uint32_t CC3OF      : 1;            /*!< [11..11] desc CC3OF                                                       */
      __IOM uint32_t CC4OF      : 1;            /*!< [12..12] desc CC4OF                                                       */
      __IM  uint32_t            : 7;
      __IOM uint32_t IDXF       : 1;            /*!< [20..20] desc IDXF                                                        */
      __IOM uint32_t DIRF       : 1;            /*!< [21..21] desc DIRF                                                        */
      __IOM uint32_t IERRF      : 1;            /*!< [22..22] desc IERRF                                                       */
      __IOM uint32_t TERRF      : 1;            /*!< [23..23] desc TERRF                                                       */
    } ICR_f;
  } ;
} GTIM_TypeDef;                                    /*!< Size = 116 (0x74)                                                         */



/* =========================================================================================================================== */
/* ================                                           I2C1                                            ================ */
/* =========================================================================================================================== */


/**
  * @brief desc I2C1 (I2C1)
  */

typedef struct {                                /*!< (@ 0x40005400) I2C1 Structure                                             */

  union {
    __IOM uint32_t BRREN;                       /*!< (@ 0x00000000) desc BRREN                                                 */

    struct {
      __IOM uint32_t EN         : 1;            /*!< [0..0] desc EN                                                            */
    } BRREN_f;
  } ;

  union {
    __IOM uint32_t BRR;                         /*!< (@ 0x00000004) desc BRR                                                   */

    struct {
      __IOM uint32_t BRR        : 8;            /*!< [7..0] desc BRR                                                           */
    } BRR_f;
  } ;

  union {
    __IOM uint32_t CR;                          /*!< (@ 0x00000008) Control register                                           */

    struct {
      __IOM uint32_t FLT        : 1;            /*!< [0..0] desc FLT                                                           */
      __IM  uint32_t            : 1;
      __IOM uint32_t AA         : 1;            /*!< [2..2] desc AA                                                            */
      __IOM uint32_t SI         : 1;            /*!< [3..3] desc SI                                                            */
      __IOM uint32_t STO        : 1;            /*!< [4..4] desc STO                                                           */
      __IOM uint32_t STA        : 1;            /*!< [5..5] desc STA                                                           */
      __IOM uint32_t EN         : 1;            /*!< [6..6] desc EN                                                            */
      __IM  uint32_t            : 1;
      __IOM uint32_t SCLINSRC   : 3;            /*!< [10..8] desc SCLINSRC                                                     */
      __IOM uint32_t SDAINSRC   : 3;            /*!< [13..11] desc SDAINSRC                                                    */
    } CR_f;
  } ;

  union {
    __IOM uint32_t DR;                          /*!< (@ 0x0000000C) Data register                                              */

    struct {
      __IOM uint32_t DR         : 8;            /*!< [7..0] desc DR                                                            */
    } DR_f;
  } ;

  union {
    __IOM uint32_t ADDR0;                       /*!< (@ 0x00000010) Slave Addrress0                                            */

    struct {
      __IOM uint32_t GC         : 1;            /*!< [0..0] desc GC                                                            */
      __IOM uint32_t ADDR0      : 7;            /*!< [7..1] desc ADDR0                                                         */
    } ADDR0_f;
  } ;

  union {
    __IM  uint32_t STAT;                        /*!< (@ 0x00000014) Status register                                            */

    struct {
      __IM  uint32_t STAT       : 8;            /*!< [7..0] desc STAT                                                          */
    } STAT_f;
  } ;
  __IM  uint32_t  RESERVED[2];

  union {
    __IOM uint32_t ADDR1;                       /*!< (@ 0x00000020) Slave Addrress1                                            */

    struct {
      __IM  uint32_t            : 1;
      __IOM uint32_t ADDR1      : 7;            /*!< [7..1] desc ADDR1                                                         */
    } ADDR1_f;
  } ;

  union {
    __IOM uint32_t ADDR2;                       /*!< (@ 0x00000024) Slave Addrress2                                            */

    struct {
      __IM  uint32_t            : 1;
      __IOM uint32_t ADDR2      : 7;            /*!< [7..1] desc ADDR2                                                         */
    } ADDR2_f;
  } ;

  union {
    __IM  uint32_t MATCH;                       /*!< (@ 0x00000028) Slave Addrress match flag                                  */

    struct {
      __IM  uint32_t ADDR0      : 1;            /*!< [0..0] desc ADDR0                                                         */
      __IM  uint32_t ADDR1      : 1;            /*!< [1..1] desc ADDR1                                                         */
      __IM  uint32_t ADDR2      : 1;            /*!< [2..2] desc ADDR2                                                         */
    } MATCH_f;
  } ;
} I2C_TypeDef;                                     /*!< Size = 44 (0x2c)                                                          */



/* =========================================================================================================================== */
/* ================                                           IRMOD                                           ================ */
/* =========================================================================================================================== */


/**
  * @brief desc IRMOD (IRMOD)
  */

typedef struct {                                /*!< (@ 0x40004080) IRMOD Structure                                            */
  union {
    __IOM uint32_t CR;                          /*!< (@ 0x00000008) Input selection register                                   */

    struct {
      __IOM uint32_t MOD        : 4;            /*!< [3..0] desc MOD                                                           */
      __IOM uint32_t IRSW       : 1;            /*!< [4..4] desc IRSW                                                          */
      __IOM uint32_t INV        : 1;            /*!< [5..5] desc INV                                                           */
    } CR_f;
  } ;
} IRMOD_TypeDef;                                   /*!< Size = 12 (0xc)                                                           */



/* =========================================================================================================================== */
/* ================                                           IWDT                                            ================ */
/* =========================================================================================================================== */


/**
  * @brief desc IWDT (IWDT)
  */

typedef struct {                                /*!< (@ 0x40005000) IWDT Structure                                             */

  union {
    __OM  uint32_t KR;                          /*!< (@ 0x00000000) Key register                                               */

    struct {
      __OM  uint32_t KR         : 16;           /*!< [15..0] desc KR                                                           */
    } KR_f;
  } ;

  union {
    __IOM uint32_t CR;                          /*!< (@ 0x00000004) Control register                                           */

    struct {
      __IOM uint32_t PRS        : 3;            /*!< [2..0] desc PRS                                                           */
      __IOM uint32_t ACTION     : 1;            /*!< [3..3] desc ACTION                                                        */
      __IOM uint32_t IE         : 1;            /*!< [4..4] desc IE                                                            */
      __IOM uint32_t PAUSE      : 1;            /*!< [5..5] desc PAUSE                                                         */
    } CR_f;
  } ;

  union {
    __IOM uint32_t ARR;                         /*!< (@ 0x00000008) Auto reload register                                       */

    struct {
      __IOM uint32_t ARR        : 12;           /*!< [11..0] desc ARR                                                          */
    } ARR_f;
  } ;

  union {
    __IOM uint32_t SR;                          /*!< (@ 0x0000000C) Status register                                            */

    struct {
      __IM  uint32_t CRF        : 1;            /*!< [0..0] desc CRF                                                           */
      __IM  uint32_t ARRF       : 1;            /*!< [1..1] desc ARRF                                                          */
      __IM  uint32_t WINRF      : 1;            /*!< [2..2] desc WINRF                                                         */
      __IOM uint32_t OV         : 1;            /*!< [3..3] desc OV                                                            */
      __IM  uint32_t RUN        : 1;            /*!< [4..4] desc RUN                                                           */
      __IM  uint32_t RELOAD     : 1;            /*!< [5..5] desc RELOAD                                                        */
    } SR_f;
  } ;

  union {
    __IOM uint32_t WINR;                        /*!< (@ 0x00000010) Window register                                            */

    struct {
      __IOM uint32_t WINR       : 12;           /*!< [11..0] desc WINR                                                         */
    } WINR_f;
  } ;
  __IM  uint32_t  RESERVED[4];

  union {
    __IM  uint32_t CNT;                         /*!< (@ 0x00000024) counter                                                    */

    struct {
      __IM  uint32_t CNT        : 12;           /*!< [11..0] desc CNT                                                          */
    } CNT_f;
  } ;
} IWDT_TypeDef;                                    /*!< Size = 40 (0x28)                                                          */



/* =========================================================================================================================== */
/* ================                                           LPTIM                                           ================ */
/* =========================================================================================================================== */


/**
  * @brief desc LPTIM (LPTIM)
  */

typedef struct {                                /*!< (@ 0x40006000) LPTIM Structure                                            */

  union {
    __IM  uint32_t ISR;                         /*!< (@ 0x00000000) desc ISR                                                   */

    struct {
      __IM  uint32_t CMPM       : 1;            /*!< [0..0] desc CMPM                                                          */
      __IM  uint32_t ARRM       : 1;            /*!< [1..1] desc ARRM                                                          */
      __IM  uint32_t EXTTRIG    : 1;            /*!< [2..2] desc EXTTRIG                                                       */
      __IM  uint32_t CMPOK      : 1;            /*!< [3..3] desc CMPOK                                                         */
      __IM  uint32_t ARROK      : 1;            /*!< [4..4] desc ARROK                                                         */
      __IM  uint32_t UP         : 1;            /*!< [5..5] desc UP                                                            */
      __IM  uint32_t DOWN       : 1;            /*!< [6..6] desc DOWN                                                          */
      __IM  uint32_t DIR        : 2;            /*!< [8..7] desc DIR                                                           */
    } ISR_f;
  } ;

  union {
    __IOM uint32_t ICR;                         /*!< (@ 0x00000004) desc ICR                                                   */

    struct {
      __IOM uint32_t CMPM       : 1;            /*!< [0..0] desc CMPM                                                          */
      __IOM uint32_t ARRM       : 1;            /*!< [1..1] desc ARRM                                                          */
      __IOM uint32_t EXTTRIG    : 1;            /*!< [2..2] desc EXTTRIG                                                       */
      __IOM uint32_t CMPOK      : 1;            /*!< [3..3] desc CMPOK                                                         */
      __IOM uint32_t ARROK      : 1;            /*!< [4..4] desc ARROK                                                         */
      __IOM uint32_t UP         : 1;            /*!< [5..5] desc UP                                                            */
      __IOM uint32_t DOWN       : 1;            /*!< [6..6] desc DOWN                                                          */
    } ICR_f;
  } ;

  union {
    __IOM uint32_t IER;                         /*!< (@ 0x00000008) desc IER                                                   */

    struct {
      __IOM uint32_t CMPM       : 1;            /*!< [0..0] desc CMPM                                                          */
      __IOM uint32_t ARRM       : 1;            /*!< [1..1] desc ARRM                                                          */
      __IOM uint32_t EXTTRIG    : 1;            /*!< [2..2] desc EXTTRIG                                                       */
      __IOM uint32_t CMPOK      : 1;            /*!< [3..3] desc CMPOK                                                         */
      __IOM uint32_t ARROK      : 1;            /*!< [4..4] desc ARROK                                                         */
      __IOM uint32_t UP         : 1;            /*!< [5..5] desc UP                                                            */
      __IOM uint32_t DOWN       : 1;            /*!< [6..6] desc DOWN                                                          */
    } IER_f;
  } ;

  union {
    __IOM uint32_t CFGR;                        /*!< (@ 0x0000000C) desc CFGR                                                  */

    struct {
      __IOM uint32_t CKSEL      : 1;            /*!< [0..0] desc CKSEL                                                         */
      __IOM uint32_t ENCMD_CKPOL : 2;           /*!< [2..1] desc ENCMD_CKPOL                                                   */
      __IOM uint32_t CHFLT      : 2;            /*!< [4..3] desc CHFLT                                                         */
      __IM  uint32_t            : 1;
      __IOM uint32_t TRIGFLT    : 2;            /*!< [7..6] desc TRIGFLT                                                       */
      __IM  uint32_t            : 1;
      __IOM uint32_t PRS        : 3;            /*!< [11..9] desc PRS                                                          */
      __IM  uint32_t            : 1;
      __IOM uint32_t TRIGSEL    : 3;            /*!< [15..13] desc TRIGSEL                                                     */
      __IM  uint32_t            : 1;
      __IOM uint32_t TRIGEN     : 2;            /*!< [18..17] desc TRIGEN                                                      */
      __IOM uint32_t TIMOUT     : 1;            /*!< [19..19] desc TIMOUT                                                      */
      __IOM uint32_t WAVE       : 1;            /*!< [20..20] desc WAVE                                                        */
      __IOM uint32_t WAVPOL     : 1;            /*!< [21..21] desc WAVPOL                                                      */
      __IOM uint32_t PRELOAD    : 1;            /*!< [22..22] desc PRELOAD                                                     */
      __IOM uint32_t COUNTMD    : 1;            /*!< [23..23] desc COUNTMD                                                     */
      __IOM uint32_t ENC        : 1;            /*!< [24..24] desc ENC                                                         */
      __IOM uint32_t ICLKSRC    : 2;            /*!< [26..25] desc ICLKSRC                                                     */
    } CFGR_f;
  } ;

  union {
    __IOM uint32_t CR;                          /*!< (@ 0x00000010) desc CR                                                    */

    struct {
      __IOM uint32_t EN         : 1;            /*!< [0..0] desc EN                                                            */
      __IOM uint32_t SNGSTART   : 1;            /*!< [1..1] desc SNGSTART                                                      */
      __IOM uint32_t CNTSTART   : 1;            /*!< [2..2] desc CNTSTART                                                      */
      __IOM uint32_t SRST       : 1;            /*!< [3..3] desc SRST                                                          */
      __IOM uint32_t ARST       : 1;            /*!< [4..4] desc ARST                                                          */
    } CR_f;
  } ;

  union {
    __IOM uint32_t CMP;                         /*!< (@ 0x00000014) desc CMP                                                   */

    struct {
      __IOM uint32_t CMP        : 16;           /*!< [15..0] desc CMP                                                          */
    } CMP_f;
  } ;

  union {
    __IOM uint32_t ARR;                         /*!< (@ 0x00000018) desc ARR                                                   */

    struct {
      __IOM uint32_t ARR        : 16;           /*!< [15..0] desc ARR                                                          */
    } ARR_f;
  } ;

  union {
    __IM  uint32_t CNT;                         /*!< (@ 0x0000001C) desc CNT                                                   */

    struct {
      __IM  uint32_t CNT        : 16;           /*!< [15..0] desc CNT                                                          */
    } CNT_f;
  } ;
} LPTIM_TypeDef;                                   /*!< Size = 32 (0x20)                                                          */

/* =========================================================================================================================== */
/* ================                                           RAM                                             ================ */
/* =========================================================================================================================== */


/**
  * @brief desc RAM (RAM)
  */

typedef struct {                                /*!< (@ 0x40022400) RAM Structure                                              */

  union {
    __IOM uint32_t IER;                         /*!< (@ 0x00000000) desc IER                                                   */

    struct {
      __IOM  uint32_t PARITY :         1;       /*!< [0..0] desc EN                                                            */
    } IER_f;
  };
  
  __IM  uint32_t ADDR;                          /*!< (@ 0x00000004) desc ADDR                                                  */  

  union {
    __IM  uint32_t ISR;                         /*!< (@ 0x00000008) desc ISR                                                   */

    struct {
      __IM  uint32_t PARITY     : 1;            /*!< [0..0] desc PARITY                                                        */      
    } ISR_f;
  };

  union {
    __IOM uint32_t ICR;                         /*!< (@ 0x0000000C) desc ICR                                                   */

    struct {
      __IOM uint32_t PARITY     : 1;            /*!< [0..0] desc PARITY                                                        */
    } ICR_f;
  };
} RAM_TypeDef;                                  /*!< Size = 16 (0x10)                                                          */


/* =========================================================================================================================== */
/* ================                                           UART1                                           ================ */
/* =========================================================================================================================== */


/**
  * @brief desc UART1 (UART1)
  */

typedef struct {                                /*!< (@ 0x40000C00) UART1 Structure                                            */

  union {
    __IOM uint32_t CR1;                         /*!< (@ 0x00000000) Control register1                                          */

    struct {
      __IOM uint32_t TXEN       : 1;            /*!< [0..0] desc TXEN                                                          */
      __IOM uint32_t RXEN       : 1;            /*!< [1..1] desc RXEN                                                          */
      __IOM uint32_t PARITY     : 1;            /*!< [3..3] desc PARITY                                                        */
      __IOM uint32_t PARITYEN   : 1;            /*!< [2..2] desc PARITYEN                                                      */
      __IOM uint32_t STOP       : 2;            /*!< [5..4] desc STOP                                                          */
      __IOM uint32_t CHLEN      : 1;            /*!< [6..6] desc CHLEN                                                         */
      __IOM uint32_t MSBF       : 1;            /*!< [7..7] desc MSBF                                                          */
      __IOM uint32_t START      : 1;            /*!< [8..8] desc START                                                         */
      __IOM uint32_t OVER       : 2;            /*!< [10..9] desc OVER                                                         */
      __IOM uint32_t SIGNAL     : 1;            /*!< [11..11] desc SIGNAL                                                      */
      __IOM uint32_t SOURCE     : 2;            /*!< [13..12] desc SOURCE                                                      */
      __IOM uint32_t SYNC       : 1;            /*!< [14..14] desc SYNC                                                        */
    } CR1_f;
  } ;

  union {
    __IOM uint32_t CR2;                         /*!< (@ 0x00000004) Control register2                                          */

    struct {
      __IOM uint32_t ADDREN     : 1;            /*!< [0..0] desc ADDREN                                                        */
      __IOM uint32_t RXMATCHEN  : 1;            /*!< [1..1] desc RXMATCHEN                                                     */
      __IOM uint32_t CTSEN      : 1;            /*!< [2..2] desc CTSEN                                                         */
      __IOM uint32_t RTSEN      : 1;            /*!< [3..3] desc RTSEN                                                         */
      __IOM uint32_t RXINV      : 1;            /*!< [4..4] desc RXINV                                                         */
      __IOM uint32_t TXINV      : 1;            /*!< [5..5] desc TXINV                                                         */
      __IM  uint32_t            : 2;
      __IOM uint32_t TIMCR      : 3;            /*!< [10..8] desc TIMCR                                                        */
      __IOM uint32_t SWAP       : 1;            /*!< [11..11] desc SWAP                                                        */
      __IOM uint32_t ADCRX      : 1;            /*!< [12..12] desc ADCRX                                                       */
      __IOM uint32_t ADCTX      : 1;            /*!< [13..13] desc ADCTX                                                       */
      __IOM uint32_t LOOP       : 1;            /*!< [14..14] desc LOOP                                                        */
      __IOM uint32_t RXSRC      : 3;            /*!< [17..15] desc RXSRC                                                       */
    } CR2_f;
  } ;

  union {
    __IOM uint32_t IER;                         /*!< (@ 0x00000008) Interrupt enable register                                  */

    struct {
      __IOM uint32_t TXE        : 1;            /*!< [0..0] desc TXE                                                           */
      __IOM uint32_t TC         : 1;            /*!< [1..1] desc TC                                                            */
      __IOM uint32_t RC         : 1;            /*!< [2..2] desc RC                                                            */
      __IOM uint32_t RXIDLE     : 1;            /*!< [3..3] desc RXIDLE                                                        */
      __IOM uint32_t RXBRK      : 1;            /*!< [4..4] desc RXBRK                                                         */
      __IOM uint32_t BAUD       : 1;            /*!< [5..5] desc BAUD                                                          */
      __IOM uint32_t TIMOV      : 1;            /*!< [6..6] desc TIMOV                                                         */
      __IOM uint32_t CTS        : 1;            /*!< [7..7] desc CTS                                                           */
      __IOM uint32_t FE         : 1;            /*!< [8..8] desc FE                                                            */
      __IOM uint32_t PE         : 1;            /*!< [9..9] desc PE                                                            */
      __IOM uint32_t NE         : 1;            /*!< [10..10] desc NE                                                          */
      __IOM uint32_t ORE        : 1;            /*!< [11..11] desc ORE                                                         */
      __IOM uint32_t RXMATCH    : 1;            /*!< [12..12] desc RXMATCH                                                     */
    } IER_f;
  } ;

  union {
    __IOM uint32_t BRRI;                        /*!< (@ 0x0000000C) desc BRRI                                                  */

    struct {
      __IOM uint32_t BRRI       : 16;           /*!< [15..0] desc BRRI                                                         */
    } BRRI_f;
  } ;

  union {
    __IOM uint32_t BRRF;                        /*!< (@ 0x00000010) desc BRRF                                                  */

    struct {
      __IOM uint32_t BRRF       : 4;            /*!< [3..0] desc BRRF                                                          */
    } BRRF_f;
  } ;

  union {
    __IOM uint32_t TIMARR;                      /*!< (@ 0x00000014) desc TIMARR                                                */

    struct {
      __IOM uint32_t TIMARR     : 24;           /*!< [23..0] desc TIMARR                                                       */
    } TIMARR_f;
  } ;

  union {
    __IM  uint32_t TIMCNT;                      /*!< (@ 0x00000018) desc TIMCNT                                                */

    struct {
      __IM  uint32_t TIMCNT     : 24;           /*!< [23..0] desc TIMARR                                                       */
    } TIMCNT_f;
  } ;

  union {
    __IM  uint32_t ISR;                         /*!< (@ 0x0000001C) Interrupt status register                                  */

    struct {
      __IM  uint32_t TXE        : 1;            /*!< [0..0] desc TXE                                                           */
      __IM  uint32_t TC         : 1;            /*!< [1..1] desc TC                                                            */
      __IM  uint32_t RC         : 1;            /*!< [2..2] desc RC                                                            */
      __IM  uint32_t RXIDLE     : 1;            /*!< [3..3] desc RXIDLE                                                        */
      __IM  uint32_t RXBRK      : 1;            /*!< [4..4] desc RXBRK                                                         */
      __IM  uint32_t BAUD       : 1;            /*!< [5..5] desc BAUD                                                          */
      __IM  uint32_t TIMOV      : 1;            /*!< [6..6] desc TIMOV                                                         */
      __IM  uint32_t CTS        : 1;            /*!< [7..7] desc CTS                                                           */
      __IM  uint32_t FE         : 1;            /*!< [8..8] desc FE                                                            */
      __IM  uint32_t PE         : 1;            /*!< [9..9] desc PE                                                            */
      __IM  uint32_t NE         : 1;            /*!< [10..10] desc NE                                                          */
      __IM  uint32_t ORE        : 1;            /*!< [11..11] desc ORE                                                         */
      __IM  uint32_t RXMATCH    : 1;            /*!< [12..12] desc RXMATCH                                                     */
      __IM  uint32_t SLVMATCH   : 1;            /*!< [13..13] desc SLVMATCH                                                    */
      __IM  uint32_t TXBUSY     : 1;            /*!< [14..14] desc TXBUSY                                                      */
      __IM  uint32_t CTSLV      : 1;            /*!< [15..15] desc CTSLV                                                       */
    } ISR_f;
  } ;

  union {
    __IOM uint32_t ICR;                         /*!< (@ 0x00000020) Interrupt flag clear register                              */

    struct {
      __IM  uint32_t            : 1;
      __IOM uint32_t TC         : 1;            /*!< [1..1] desc TC                                                            */
      __IOM uint32_t RC         : 1;            /*!< [2..2] desc RC                                                            */
      __IOM uint32_t RXIDLE     : 1;            /*!< [3..3] desc RXIDLE                                                        */
      __IOM uint32_t RXBRK      : 1;            /*!< [4..4] desc RXBRK                                                         */
      __IOM uint32_t BAUD       : 1;            /*!< [5..5] desc BAUD                                                          */
      __IOM uint32_t TIMOV      : 1;            /*!< [6..6] desc TIMOV                                                         */
      __IOM uint32_t CTS        : 1;            /*!< [7..7] desc CTS                                                           */
      __IOM uint32_t FE         : 1;            /*!< [8..8] desc FE                                                            */
      __IOM uint32_t PE         : 1;            /*!< [9..9] desc PE                                                            */
      __IOM uint32_t NE         : 1;            /*!< [10..10] desc NE                                                          */
      __IOM uint32_t ORE        : 1;            /*!< [11..11] desc ORE                                                         */
      __IOM uint32_t RXMATCH    : 1;            /*!< [12..12] desc RXMATCH                                                     */
    } ICR_f;
  } ;

  union {
    __IM  uint32_t RDR;                         /*!< (@ 0x00000024) Data reg for read                                          */

    struct {
      __IM  uint32_t RDR        : 9;            /*!< [8..0] desc RDR                                                           */
    } RDR_f;
  } ;

  union {
    __OM  uint32_t TDR;                         /*!< (@ 0x00000028) Data reg for write                                         */

    struct {
      __OM  uint32_t TDR        : 9;            /*!< [8..0] desc TDR                                                           */
      __OM  uint32_t IDLE       : 1;            /*!< [9..9] desc IDLE                                                          */
      __OM  uint32_t BREAK      : 1;            /*!< [10..10] desc BREAK                                                       */
    } TDR_f;
  } ;
  __IM  uint32_t  RESERVED;

  union {
    __IOM uint32_t ADDR;                        /*!< (@ 0x00000030) Slave addr                                                 */

    struct {
      __IOM uint32_t ADDR       : 8;            /*!< [7..0] desc ADDR                                                          */
    } ADDR_f;
  } ;

  union {
    __IOM uint32_t MASK;                        /*!< (@ 0x00000034) Slave addr mask                                            */

    struct {
      __IOM uint32_t MASK       : 8;            /*!< [7..0] desc MASK                                                          */
    } MASK_f;
  } ;

  union {
    __IOM uint32_t CR3;                         /*!< (@ 0x00000038) Control register3                                          */

    struct {
      __IOM uint32_t DEM        : 1;            /*!< [0..0] desc DEM                                                           */
      __IOM uint32_t DEP        : 1;            /*!< [1..1] desc DEP                                                           */
      __IOM uint32_t DETIME     : 5;            /*!< [6..2] desc DETIME                                                        */
      __IOM uint32_t LIN        : 1;            /*!< [7..7] desc LIN                                                           */
      __IOM uint32_t BRKL       : 1;            /*!< [8..8] desc LINBRK                                                        */
    } CR3_f;
  } ;

  union {
    __IOM uint32_t RXMATCH;                     /*!< (@ 0x0000003C) desc RXMATCH                                               */

    struct {
      __IOM uint32_t RXMATCH    : 9;            /*!< [8..0] desc RXMATCH                                                       */
    } RXMATCH_f;
  } ;
} UART_TypeDef;                                    /*!< Size = 64 (0x40)                                                          */



/* =========================================================================================================================== */
/* ================                                            LVD                                            ================ */
/* =========================================================================================================================== */


/**
  * @brief desc LVD (LVD)
  */

typedef struct {                                /*!< (@ 0x400000D0) LVD Structure                                              */

  union {
    __IOM uint32_t CR0;                         /*!< (@ 0x00000000) Control register0                                          */

    struct {
      __IOM uint32_t EN         : 1;            /*!< [0..0] desc EN                                                            */
      __IOM uint32_t ACTION     : 1;            /*!< [1..1] desc ACTION                                                        */
      __IOM uint32_t SOURCE     : 1;            /*!< [2..2] desc SOURCE                                                        */
      __IM  uint32_t            : 1;
      __IOM uint32_t VTH        : 3;            /*!< [6..4] desc VTH                                                           */
      __IM  uint32_t            : 1;
      __IOM uint32_t FLTCLK     : 1;            /*!< [8..8] desc FLTCLK                                                        */
    } CR0_f;
  } ;

  union {
    __IOM uint32_t CR1;                         /*!< (@ 0x00000004) Control register1                                          */

    struct {
      __IOM uint32_t IE         : 1;            /*!< [0..0] desc IE                                                            */
      __IOM uint32_t LEVEL      : 1;            /*!< [1..1] desc LEVEL                                                         */
      __IOM uint32_t FALL       : 1;            /*!< [2..2] desc FALL                                                          */
      __IOM uint32_t RISE       : 1;            /*!< [3..3] desc RISE                                                          */
      __IOM uint32_t FLTTIME    : 4;            /*!< [7..4] desc FLTTIME                                                       */
    } CR1_f;
  } ;

  union {
    __IOM uint32_t SR;                          /*!< (@ 0x00000008) status register                                            */

    struct {
      __IOM uint32_t INTF       : 1;            /*!< [0..0] desc INTF                                                          */
      __IM  uint32_t FLTV       : 1;            /*!< [1..1] desc FLTV                                                          */
    } SR_f;
  } ;
} LVD_TypeDef;                                     /*!< Size = 12 (0xc)                                                           */



/* =========================================================================================================================== */
/* ================                                            RTC                                            ================ */
/* =========================================================================================================================== */


/**
  * @brief desc RTC (RTC)
  */

typedef struct {                                /*!< (@ 0x40004400) RTC Structure                                              */

  union {
    __OM  uint32_t KEY;                         /*!< (@ 0x00000000) desc KEY                                                   */

    struct {
      __OM  uint32_t KEY        : 8;            /*!< [7..0] desc KEY                                                           */
    } KEY_f;
  } ;

  union {
    __IOM uint32_t CR0;                         /*!< (@ 0x00000004) desc CR0                                                   */

    struct {
      __IOM uint32_t INTERVAL   : 3;            /*!< [2..0] desc INTERVAL                                                      */
      __IOM uint32_t H24        : 1;            /*!< [3..3] desc H24                                                           */
      __IM  uint32_t            : 1;
      __IOM uint32_t RTC1HZ     : 2;            /*!< [6..5] desc RTC1HZ                                                        */
      __IOM uint32_t START      : 1;            /*!< [7..7] desc START                                                         */
    } CR0_f;
  } ;

  union {
    __IOM uint32_t CR1;                         /*!< (@ 0x00000008) desc CR1                                                   */

    struct {
      __IOM uint32_t ACCESS     : 1;            /*!< [0..0] desc ACCESS                                                        */
      __IM  uint32_t WINDOW     : 1;            /*!< [1..1] desc WINDOW                                                        */
      __IM  uint32_t WAIT       : 1;            /*!< [2..2] desc WAIT                                                          */
      __IM  uint32_t            : 5;
      __IOM uint32_t SOURCE     : 3;            /*!< [10..8] desc SOURCE                                                       */
    } CR1_f;
  } ;

  union {
    __IOM uint32_t CR2;                         /*!< (@ 0x0000000C) desc CR2                                                   */

    struct {
      __IOM uint32_t AWTPRS     : 2;            /*!< [1..0] desc AWTPRS                                                        */
      __IOM uint32_t AWTSRC     : 1;            /*!< [2..2] desc AWTSRC                                                        */
      __IOM uint32_t TAMPEDGE   : 1;            /*!< [3..3] desc TAMPEDGE                                                      */
      __IOM uint32_t RTCOUT     : 2;            /*!< [5..4] desc RTCOUT                                                        */
      __IOM uint32_t TAMPEN     : 1;            /*!< [6..6] desc TAMPEN                                                        */
      __IOM uint32_t AWTEN      : 1;            /*!< [7..7] desc AWTEN                                                         */
      __IM  uint32_t            : 1;
      __IOM uint32_t ALARMAEN   : 1;            /*!< [9..9] desc ALARMAEN                                                      */
      __IOM uint32_t ALARMBEN   : 1;            /*!< [10..10] desc ALARMBEN                                                    */
    } CR2_f;
  } ;

  union {
    __IOM uint32_t COMPCFR1;                    /*!< (@ 0x00000010) desc COMPCFR1                                              */

    struct {
      __IOM uint32_t COMP       : 12;           /*!< [11..0] desc COMP                                                         */
      __IOM uint32_t PERIOD     : 2;            /*!< [13..12] desc PERIOD                                                      */
      __IOM uint32_t SIGN       : 1;            /*!< [14..14] desc SIGN                                                        */
      __IOM uint32_t EN         : 1;            /*!< [15..15] desc EN                                                          */
    } COMPCFR1_f;
  } ;

  union {
    __IOM uint32_t DATE;                        /*!< (@ 0x00000014) desc DATE                                                  */

    struct {
      __IOM uint32_t DAY        : 8;            /*!< [7..0] desc DAY                                                           */
      __IOM uint32_t MONTH      : 8;            /*!< [15..8] desc MONTH                                                        */
      __IOM uint32_t YEAR       : 8;            /*!< [23..16] desc YEAR                                                        */
      __IOM uint32_t WEEK       : 3;            /*!< [26..24] desc WEEK                                                        */
    } DATE_f;
  } ;

  union {
    __IOM uint32_t TIME;                        /*!< (@ 0x00000018) desc TIME                                                  */

    struct {
      __IOM uint32_t SECOND     : 7;            /*!< [6..0] desc SECOND                                                        */
      __IM  uint32_t            : 1;
      __IOM uint32_t MINUTE     : 7;            /*!< [14..8] desc MINUTE                                                       */
      __IM  uint32_t            : 1;
      __IOM uint32_t HOUR       : 6;            /*!< [21..16] desc HOUR                                                        */
    } TIME_f;
  } ;

  union {
    __IOM uint32_t ALARMA;                      /*!< (@ 0x0000001C) desc ALARMA                                                */

    struct {
      __IOM uint32_t SECOND     : 7;            /*!< [6..0] desc SECOND                                                        */
      __IOM uint32_t SECONDEN   : 1;            /*!< [7..7] desc SECONDEN                                                      */
      __IOM uint32_t MINUTE     : 7;            /*!< [14..8] desc MINUTE                                                       */
      __IOM uint32_t MINUTEEN   : 1;            /*!< [15..15] desc MINUTEEN                                                    */
      __IOM uint32_t HOUR       : 6;            /*!< [21..16] desc HOUR                                                        */
      __IM  uint32_t            : 1;
      __IOM uint32_t HOUREN     : 1;            /*!< [23..23] desc HOUREN                                                      */
      __IOM uint32_t WEEKMASK   : 7;            /*!< [30..24] desc WEEKMASK                                                    */
    } ALARMA_f;
  } ;

  union {
    __IOM uint32_t ALARMB;                      /*!< (@ 0x00000020) desc ALARMB                                                */

    struct {
      __IOM uint32_t SECOND     : 7;            /*!< [6..0] desc SECOND                                                        */
      __IOM uint32_t SECONDEN   : 1;            /*!< [7..7] desc SECONDEN                                                      */
      __IOM uint32_t MINUTE     : 7;            /*!< [14..8] desc MINUTE                                                       */
      __IOM uint32_t MINUTEEN   : 1;            /*!< [15..15] desc MINUTEEN                                                    */
      __IOM uint32_t HOUR       : 6;            /*!< [21..16] desc HOUR                                                        */
      __IM  uint32_t            : 1;
      __IOM uint32_t HOUREN     : 1;            /*!< [23..23] desc HOUREN                                                      */
      __IOM uint32_t WEEKMASK   : 7;            /*!< [30..24] desc WEEKMASK                                                    */
    } ALARMB_f;
  } ;

  union {
    __IM  uint32_t TAMPDATE;                    /*!< (@ 0x00000024) desc TAMPDATE                                              */

    struct {
      __IM  uint32_t DAY        : 6;            /*!< [5..0] desc DAY                                                           */
      __IM  uint32_t            : 2;
      __IM  uint32_t MONTH      : 5;            /*!< [12..8] desc MONTH                                                        */
      __IM  uint32_t WEEK       : 3;            /*!< [15..13] desc WEEK                                                        */
    } TAMPDATE_f;
  } ;

  union {
    __IM  uint32_t TAMPTIME;                    /*!< (@ 0x00000028) desc TAMPTIME                                              */

    struct {
      __IM  uint32_t SECOND     : 7;            /*!< [6..0] desc SECOND                                                        */
      __IM  uint32_t            : 1;
      __IM  uint32_t MINUTE     : 7;            /*!< [14..8] desc MINUTE                                                       */
      __IM  uint32_t            : 1;
      __IM  uint32_t HOUR       : 6;            /*!< [21..16] desc HOUR                                                        */
    } TAMPTIME_f;
  } ;

  union {
    __IOM uint32_t AWTARR;                      /*!< (@ 0x0000002C) desc AWTARR                                                */

    struct {
      __IOM uint32_t ARR        : 16;           /*!< [15..0] desc ARR                                                          */
    } AWTARR_f;
  } ;

  union {
    __IOM uint32_t IER;                         /*!< (@ 0x00000030) desc IER                                                   */

    struct {
      __IOM uint32_t ALARMA     : 1;            /*!< [0..0] desc ALARMA                                                        */
      __IOM uint32_t ALARMB     : 1;            /*!< [1..1] desc ALARMB                                                        */
      __IOM uint32_t AWTIMER    : 1;            /*!< [2..2] desc AWTIMER                                                       */
      __IOM uint32_t TAMP       : 1;            /*!< [3..3] desc TAMP                                                          */
      __IOM uint32_t TAMPOV     : 1;            /*!< [4..4] desc TAMPOV                                                        */
      __IM  uint32_t            : 1;
      __IOM uint32_t INTERVAL   : 1;            /*!< [6..6] desc INTERVAL                                                      */
    } IER_f;
  } ;

  union {
    __IM  uint32_t ISR;                         /*!< (@ 0x00000034) desc ISR                                                   */

    struct {
      __IM  uint32_t ALARMA     : 1;            /*!< [0..0] desc ALARMA                                                        */
      __IM  uint32_t ALARMB     : 1;            /*!< [1..1] desc ALARMB                                                        */
      __IM  uint32_t AWTIMER    : 1;            /*!< [2..2] desc AWTIMER                                                       */
      __IM  uint32_t TAMP       : 1;            /*!< [3..3] desc TAMP                                                          */
      __IM  uint32_t TAMPOV     : 1;            /*!< [4..4] desc TAMPOV                                                        */
      __IM  uint32_t            : 1;
      __IM  uint32_t INTERVAL   : 1;            /*!< [6..6] desc INTERVAL                                                      */
    } ISR_f;
  } ;

  union {
    __IOM uint32_t ICR;                         /*!< (@ 0x00000038) desc ICR                                                   */

    struct {
      __IOM uint32_t ALARMA     : 1;            /*!< [0..0] desc ALARMA                                                        */
      __IOM uint32_t ALARMB     : 1;            /*!< [1..1] desc ALARMB                                                        */
      __IOM uint32_t AWTIMER    : 1;            /*!< [2..2] desc AWTIMER                                                       */
      __IOM uint32_t TAMP       : 1;            /*!< [3..3] desc TAMP                                                          */
      __IOM uint32_t TAMPOV     : 1;            /*!< [4..4] desc TAMPOV                                                        */
      __IM  uint32_t            : 1;
      __IOM uint32_t INTERVAL   : 1;            /*!< [6..6] desc INTERVAL                                                      */
    } ICR_f;
  } ;

  union {
    __IM  uint32_t AWTCNT;                      /*!< (@ 0x0000003C) desc AWTCNT                                                */

    struct {
      __IM  uint32_t CNT        : 16;           /*!< [15..0] desc CNT                                                          */
    } AWTCNT_f;
  } ;

  union {
    __IOM uint32_t PSC;                         /*!< (@ 0x00000040) desc PSC                                                   */

    struct {
      __IOM uint32_t PSC2       : 20;           /*!< [19..0] desc PSC2                                                         */
      __IOM uint32_t PSC1       : 8;            /*!< [27..20] desc PSC1                                                        */
    } PSC_f;
  } ;

  union {
    __IM  uint32_t SSCNT;                       /*!< (@ 0x00000044) desc SSCNT                                                 */

    struct {
      __IM  uint32_t SSCNT0     : 20;           /*!< [19..0] desc SSCNT0                                                       */
      __IM  uint32_t SSCNT1     : 1;            /*!< [20..20] desc SSCNT1                                                      */
    } SSCNT_f;
  } ;
  __IM  uint32_t  RESERVED[3];

  union {
    __IOM uint32_t COMPCFR2;                    /*!< (@ 0x00000054) desc COMPCFR2                                              */

    struct {
      __IOM uint32_t PCLKCNT    : 11;           /*!< [10..0] desc PCLKCNT                                                      */
    } COMPCFR2_f;
  } ;

  union {
    __IOM uint32_t COMPCFR3;                    /*!< (@ 0x00000058) desc COMPCFR3                                              */

    struct {
      __IOM uint32_t PCLKCNT    : 11;           /*!< [10..0] desc PCLKCNT                                                      */
    } COMPCFR3_f;
  } ;
} RTC_TypeDef;                                     /*!< Size = 92 (0x5c)                                                          */



/* =========================================================================================================================== */
/* ================                                            SPI                                            ================ */
/* =========================================================================================================================== */


/**
  * @brief desc SPI (SPI)
  */

typedef struct {                                /*!< (@ 0x40000800) SPI Structure                                              */

  union {
    __IOM uint32_t CR1;                         /*!< (@ 0x00000000) Control register1                                          */

    struct {
      __IOM uint32_t MSTR       : 1;            /*!< [0..0] desc MSTR                                                          */
      __IOM uint32_t SSM        : 1;            /*!< [1..1] desc SSM                                                           */
      __IOM uint32_t CPHA       : 1;            /*!< [2..2] desc CPHA                                                          */
      __IOM uint32_t CPOL       : 1;            /*!< [3..3] desc CPOL                                                          */
      __IOM uint32_t BR         : 3;            /*!< [6..4] desc BR                                                            */
      __IOM uint32_t LSBF       : 1;            /*!< [7..7] desc LSBF                                                          */
      __IOM uint32_t WIDTH      : 4;            /*!< [11..8] desc WIDTH                                                        */
      __IOM uint32_t GAP        : 4;            /*!< [15..12] desc GAP                                                         */
      __IOM uint32_t MODE       : 2;            /*!< [17..16] desc MODE                                                        */
      __IOM uint32_t FLTEN      : 1;            /*!< [18..18] desc FLTEN                                                       */
      __IOM uint32_t MISOHD     : 1;            /*!< [19..19] desc MISOHD                                                      */
      __IOM uint32_t SMP        : 1;            /*!< [20..20] desc SMP                                                         */
    } CR1_f;
  } ;

  union {
    __IOM uint32_t CR2;                         /*!< (@ 0x00000004) Control register2                                          */

    struct {
      __IOM uint32_t EN         : 1;            /*!< [0..0] desc EN                                                            */
      __IM  uint32_t            : 2;
      __IOM uint32_t ADCRX      : 1;            /*!< [3..3] desc ADCRX                                                         */
      __IOM uint32_t ADCTX      : 1;            /*!< [4..4] desc ADCTX                                                         */
    } CR2_f;
  } ;

  union {
    __IOM uint32_t CR3;                         /*!< (@ 0x00000008) desc CR3                                                   */

    struct {
      __IOM uint32_t HDOE       : 1;            /*!< [0..0] desc HDOE                                                          */
    } CR3_f;
  } ;

  union {
    __IOM uint32_t SSI;                         /*!< (@ 0x0000000C) Slave slect register                                       */

    struct {
      __IOM uint32_t SSI        : 1;            /*!< [0..0] desc SSI                                                           */
    } SSI_f;
  } ;

  union {
    __IOM uint32_t IER;                         /*!< (@ 0x00000010) Interrupt enable register                                  */

    struct {
      __IOM uint32_t TXE        : 1;            /*!< [0..0] desc TXE                                                           */
      __IOM uint32_t RXNE       : 1;            /*!< [1..1] desc RXNE                                                          */
      __IOM uint32_t SSF        : 1;            /*!< [2..2] desc SSF                                                           */
      __IOM uint32_t SSR        : 1;            /*!< [3..3] desc SSR                                                           */
      __IOM uint32_t UD         : 1;            /*!< [4..4] desc UD                                                            */
      __IOM uint32_t OV         : 1;            /*!< [5..5] desc OV                                                            */
      __IOM uint32_t SSERR      : 1;            /*!< [6..6] desc SSERR                                                         */
      __IOM uint32_t MODF       : 1;            /*!< [7..7] desc MODF                                                          */
    } IER_f;
  } ;

  union {
    __IM  uint32_t ISR;                         /*!< (@ 0x00000014) Interrupt status register                                  */

    struct {
      __IM  uint32_t TXE        : 1;            /*!< [0..0] desc TXE                                                           */
      __IM  uint32_t RXNE       : 1;            /*!< [1..1] desc RXNE                                                          */
      __IM  uint32_t SSF        : 1;            /*!< [2..2] desc SSF                                                           */
      __IM  uint32_t SSR        : 1;            /*!< [3..3] desc SSR                                                           */
      __IM  uint32_t UD         : 1;            /*!< [4..4] desc UD                                                            */
      __IM  uint32_t OV         : 1;            /*!< [5..5] desc OV                                                            */
      __IM  uint32_t SSERR      : 1;            /*!< [6..6] desc SSERR                                                         */
      __IM  uint32_t MODF       : 1;            /*!< [7..7] desc MODF                                                          */
      __IM  uint32_t BUSY       : 1;            /*!< [8..8] desc BUSY                                                          */
      __IM  uint32_t SSLVL      : 1;            /*!< [9..9] desc SSLVL                                                         */
    } ISR_f;
  } ;

  union {
    __IOM uint32_t ICR;                         /*!< (@ 0x00000018) Interrupt flag clear register                              */

    struct {
      __IOM uint32_t FLUSH      : 1;            /*!< [0..0] desc FLUSH                                                         */
      __IOM uint32_t RXNE       : 1;            /*!< [1..1] desc RXNE                                                          */
      __IOM uint32_t SSF        : 1;            /*!< [2..2] desc SSF                                                           */
      __IOM uint32_t SSR        : 1;            /*!< [3..3] desc SSR                                                           */
      __IOM uint32_t UD         : 1;            /*!< [4..4] desc UD                                                            */
      __IOM uint32_t OV         : 1;            /*!< [5..5] desc OV                                                            */
      __IOM uint32_t SSERR      : 1;            /*!< [6..6] desc SSERR                                                         */
      __IOM uint32_t MODF       : 1;            /*!< [7..7] desc MODF                                                          */
    } ICR_f;
  } ;

  union {
    __IOM uint32_t DR;                          /*!< (@ 0x0000001C) Data register                                              */

    struct {
      __IOM uint32_t DR         : 16;           /*!< [15..0] desc DR                                                           */
    } DR_f;
  } ;
} SPI_TypeDef;                                     /*!< Size = 32 (0x20)                                                          */



/* =========================================================================================================================== */
/* ================                                          SYSCTRL                                          ================ */
/* =========================================================================================================================== */


/**
  * @brief System Ctrl (SYSCTRL)
  */

typedef struct {                                /*!< (@ 0x40004000) SYSCTRL Structure                                          */

  union {
    __IOM uint32_t CR0;                         /*!< (@ 0x00000000) Control Reg0                                               */

    struct {
      __IOM uint32_t SYSCLK     : 3;            /*!< [2..0] desc SYSCLK                                                        */
      __IOM uint32_t PCLKPRS    : 2;            /*!< [4..3] desc PCLKPRS                                                       */
      __IOM uint32_t HCLKPRS    : 3;            /*!< [7..5] desc HCLKPRS                                                       */
      __IM  uint32_t            : 8;
      __OM  uint32_t KEY        : 16;           /*!< [31..16] desc KEY                                                         */
    } CR0_f;
  } ;

  union {
    __IOM uint32_t CR1;                         /*!< (@ 0x00000004) Control Reg1                                               */

    struct {
      __IOM uint32_t HSIEN      : 1;            /*!< [0..0] desc HSIEN                                                         */
      __IOM uint32_t HSEEN      : 1;            /*!< [1..1] desc HSEEN                                                         */
      __IM  uint32_t            : 1;
      __IOM uint32_t LSIEN      : 1;            /*!< [3..3] desc LSIEN                                                         */
      __IOM uint32_t LSEEN      : 1;            /*!< [4..4] desc LSEEN                                                         */
      __IOM uint32_t LSELOCK    : 1;            /*!< [5..5] desc LSELOCK                                                       */
      __IOM uint32_t LSECCS     : 1;            /*!< [6..6] desc LSECCS                                                        */
      __IOM uint32_t HSECCS     : 1;            /*!< [7..7] desc HSECCS                                                        */
      __IOM uint32_t CLKCCS     : 1;            /*!< [8..8] desc CLKCCS                                                        */
      __IM  uint32_t            : 7;
      __OM  uint32_t KEY        : 16;           /*!< [31..16] desc KEY                                                         */
    } CR1_f;
  } ;

  union {
    __IOM uint32_t CR2;                         /*!< (@ 0x00000008) Control Reg2                                               */

    struct {
      __IOM uint32_t RSTIO      : 1;            /*!< [0..0] desc RSTIO                                                         */
      __IOM uint32_t SWDIO      : 1;            /*!< [1..1] desc SWDIO                                                         */
      __IOM uint32_t LOCKUP     : 1;            /*!< [2..2] desc LOCKUP                                                        */
      __IOM uint32_t WAKEUPCLK  : 1;            /*!< [3..3] desc WAKEUPCLK                                                     */
      __IOM uint32_t FLASHWAIT  : 3;            /*!< [6..4] desc FLASHWAIT                                                     */
      __IOM uint32_t RTCLPM     : 1;            /*!< [7..7] desc RTCLPM                                                        */
      __IM  uint32_t            : 2;
      __IOM uint32_t HSEBKEN    : 1;            /*!< [10..10] desc HSEBKEN                                                     */
      __IOM uint32_t LSEBKEN    : 1;            /*!< [11..11] desc LSEBKEN                                                     */
      __IOM uint32_t CLLBKEN    : 1;            /*!< [12..12] desc CLLBKEN                                                     */
      __IOM uint32_t DSBKEN     : 1;            /*!< [13..13] desc DSBKEN                                                      */
      __IOM uint32_t LVDBKEN    : 1;            /*!< [14..14] desc LVDBKEN                                                     */
      __IOM uint32_t RAMBKEN    : 1;            /*!< [15..15] desc RAMBKEN                                                     */
      __OM  uint32_t KEY        : 16;           /*!< [31..16] desc KEY                                                         */
    } CR2_f;
  } ;

  union {
    __IOM uint32_t IER;                         /*!< (@ 0x0000000C) Interupt Enable Reg                                        */

    struct {
      __IOM uint32_t HSIRDY     : 1;            /*!< [0..0] desc HSIRDY                                                        */
      __IOM uint32_t HSERDY     : 1;            /*!< [1..1] desc HSERDY                                                        */
      __IM  uint32_t            : 1;
      __IOM uint32_t LSIRDY     : 1;            /*!< [3..3] desc LSIRDY                                                        */
      __IOM uint32_t LSERDY     : 1;            /*!< [4..4] desc LSERDY                                                        */
      __IOM uint32_t LSEFAIL    : 1;            /*!< [5..5] desc LSEFAIL                                                       */
      __IOM uint32_t HSEFAIL    : 1;            /*!< [6..6] desc HSEFAIL                                                       */
      __IOM uint32_t LSEFAULT   : 1;            /*!< [7..7] desc LSEFAULT                                                      */
      __IOM uint32_t HSEFAULT   : 1;            /*!< [8..8] desc HSEFAULT                                                      */
      __IM  uint32_t            : 7;
      __OM  uint32_t KEY        : 16;           /*!< [31..16] desc KEY                                                         */
    } IER_f;
  } ;

  union {
    __IM  uint32_t ISR;                         /*!< (@ 0x00000010) Interupt Status Reg                                        */

    struct {
      __IM  uint32_t HSIRDY     : 1;            /*!< [0..0] desc HSIRDY                                                        */
      __IM  uint32_t HSERDY     : 1;            /*!< [1..1] desc HSERDY                                                        */
      __IM  uint32_t            : 1;
      __IM  uint32_t LSIRDY     : 1;            /*!< [3..3] desc LSIRDY                                                        */
      __IM  uint32_t LSERDY     : 1;            /*!< [4..4] desc LSERDY                                                        */
      __IM  uint32_t LSEFAIL    : 1;            /*!< [5..5] desc LSEFAIL                                                       */
      __IM  uint32_t HSEFAIL    : 1;            /*!< [6..6] desc HSEFAIL                                                       */
      __IM  uint32_t LSEFAULT   : 1;            /*!< [7..7] desc LSEFAULT                                                      */
      __IM  uint32_t HSEFAULT   : 1;            /*!< [8..8] desc HSEFAULT                                                      */
      __IM  uint32_t            : 2;
      __IM  uint32_t HSISTABLE  : 1;            /*!< [11..11] desc HSISTABLE                                                   */
      __IM  uint32_t HSESTABLE  : 1;            /*!< [12..12] desc HSESTABLE                                                   */
      __IM  uint32_t            : 1;
      __IM  uint32_t LSISTABLE  : 1;            /*!< [14..14] desc LSISTABLE                                                   */
      __IM  uint32_t LSESTABLE  : 1;            /*!< [15..15] desc LSESTABLE                                                   */
    } ISR_f;
  } ;

  union {
    __IOM uint32_t ICR;                         /*!< (@ 0x00000014) Interupt Clear Reg                                         */

    struct {
      __IOM uint32_t HSIRDY     : 1;            /*!< [0..0] desc HSIRDY                                                        */
      __IOM uint32_t HSERDY     : 1;            /*!< [1..1] desc HSERDY                                                        */
      __IM  uint32_t            : 1;
      __IOM uint32_t LSIRDY     : 1;            /*!< [3..3] desc LSIRDY                                                        */
      __IOM uint32_t LSERDY     : 1;            /*!< [4..4] desc LSERDY                                                        */
      __IOM uint32_t LSEFAIL    : 1;            /*!< [5..5] desc LSEFAIL                                                       */
      __IOM uint32_t HSEFAIL    : 1;            /*!< [6..6] desc HSEFAIL                                                       */
      __IOM uint32_t LSEFAULT   : 1;            /*!< [7..7] desc LSEFAULT                                                      */
      __IOM uint32_t HSEFAULT   : 1;            /*!< [8..8] desc HSEFAULT                                                      */
    } ICR_f;
  } ;

  union {
    __IOM uint32_t HSI;                         /*!< (@ 0x00000018) HSI Control Reg                                            */

    struct {
      __IOM uint32_t TRIM       : 11;           /*!< [10..0] desc TRIM                                                         */
      __IOM uint32_t DIV        : 4;            /*!< [14..11] desc DIV                                                         */
      __IM  uint32_t STABLE     : 1;            /*!< [15..15] desc STABLE                                                      */
    } HSI_f;
  } ;

  union {
    __IOM uint32_t HSE;                         /*!< (@ 0x0000001C) HEX Control Reg                                            */

    struct {
      __IOM uint32_t DRIVER     : 4;            /*!< [3..0] desc DRIVER                                                        */
      __IOM uint32_t WAITCYCLE  : 2;            /*!< [5..4] desc WAITCYCLE                                                     */
      __IOM uint32_t MODE       : 1;            /*!< [6..6] desc MODE                                                          */
      __IOM uint32_t HEXENPOL   : 1;            /*!< [7..7] desc HEXENPOL                                                      */
      __IOM uint32_t DETCNT     : 11;           /*!< [18..8] desc DETCNT                                                       */
      __IM  uint32_t STABLE     : 1;            /*!< [19..19] desc STABLE                                                      */
      __IOM uint32_t PDRIVER    : 4;            /*!< [23..20] desc PDRIVER                                                     */
      __IOM uint32_t DIGFLT     : 1;            /*!< [24..24] desc DIGFLT                                                      */
    } HSE_f;
  } ;

  union {
    __IOM uint32_t LSI;                         /*!< (@ 0x00000020) LSI Control Reg                                            */

    struct {
      __IOM uint32_t TRIM       : 10;           /*!< [9..0] desc TRIM                                                          */
      __IOM uint32_t WAITCYCLE  : 2;            /*!< [11..10] desc WAITCYCLE                                                   */
      __IM  uint32_t            : 3;
      __IM  uint32_t STABLE     : 1;            /*!< [15..15] desc STABLE                                                      */
    } LSI_f;
  } ;

  union {
    __IOM uint32_t LSE;                         /*!< (@ 0x00000024) LSE Control Reg                                            */

    struct {
      __IOM uint32_t DRIVER     : 4;            /*!< [3..0] desc DRIVER                                                        */
      __IOM uint32_t WAITCYCLE  : 2;            /*!< [5..4] desc WAITCYCLE                                                     */
      __IOM uint32_t MODE       : 1;            /*!< [6..6] desc MODE                                                          */
      __IOM uint32_t ANAFLT     : 1;            /*!< [7..7] desc ANAFLT                                                        */
      __IOM uint32_t PDRIVER    : 4;            /*!< [11..8] desc PDRIVER                                                      */
      __IOM uint32_t COMP       : 1;            /*!< [12..12] desc COMP                                                        */
      __IOM uint32_t CPEN       : 1;            /*!< [13..13] desc CPEN                                                        */
      __IOM uint32_t RESTRIM    : 2;            /*!< [15..14] desc RESTRIM                                                     */
      __IOM uint32_t WP         : 1;            /*!< [16..16] desc WP                                                          */
      __IOM uint32_t PINLOCK    : 1;            /*!< [17..17] desc PINLOCK                                                     */
      __IM  uint32_t STABLE     : 1;            /*!< [18..18] desc STABLE                                                      */
    } LSE_f;
  } ;
  __IM  uint32_t  RESERVED;

  union {
    __IOM uint32_t DEBUG;                       /*!< (@ 0x0000002C) Debug Control Reg                                          */

    struct {
      __IOM uint32_t ATIM       : 1;            /*!< [0..0] desc ATIM                                                          */
      __IOM uint32_t GTIM1      : 1;            /*!< [1..1] desc GTIM1                                                         */
      __IM  uint32_t            : 3;
      __IOM uint32_t BTIM123    : 1;            /*!< [5..5] desc BTIM123                                                       */
      __IOM uint32_t LPTIM      : 1;            /*!< [6..6] desc LPTIM                                                         */
      __IM  uint32_t            : 1;
      __IOM uint32_t RTC        : 1;            /*!< [8..8] desc RTC                                                           */
      __IOM uint32_t IWDT       : 1;            /*!< [9..9] desc IWDT                                                          */
    } DEBUG_f;
  } ;

  union {
    __IOM uint32_t AHBEN;                       /*!< (@ 0x00000030) AHB Clock Control Reg                                      */

    struct {
      __IM  uint32_t            : 1;
      __IOM uint32_t FLASH      : 1;            /*!< [1..1] desc FLASH                                                         */
      __IOM uint32_t CRC        : 1;            /*!< [2..2] desc CRC                                                           */
      __IM  uint32_t            : 1;
      __IOM uint32_t GPIOA      : 1;            /*!< [4..4] desc GPIOA                                                         */
      __IOM uint32_t GPIOB      : 1;            /*!< [5..5] desc GPIOB                                                         */
            uint32_t            : 10;
      __IOM uint32_t KEY        : 16;           /*!< desc KEY                                                                  */
    } AHBEN_f;
  } ;

  union {
    __IOM uint32_t APBEN2;                      /*!< (@ 0x00000034) APB Clock Control Reg2                                     */

    struct {
      __IM  uint32_t            : 1;
      __IOM uint32_t RTC        : 1;            /*!< [1..1] desc RTC                                                           */
      __IOM uint32_t BTIM123    : 1;            /*!< [2..2] desc BTIM123                                                       */
      __IM  uint32_t            : 1;
      __IOM uint32_t IWDT       : 1;            /*!< [4..4] desc IWDT                                                          */
      __IM  uint32_t            : 1;
      __IOM uint32_t I2C1       : 1;            /*!< [6..6] desc I2C1                                                          */
      __IOM uint32_t LPTIM      : 1;            /*!< [7..7] desc LPTIM                                                         */
            uint32_t            : 8;
      __IOM uint32_t KEY        : 16;           /*!< desc KEY                                                                  */
    } APBEN2_f;
  } ;

  union {
    __IOM uint32_t APBEN1;                      /*!< (@ 0x00000038) APB Clock Control Reg1                                     */

    struct {
      __IOM uint32_t ADC        : 1;            /*!< [0..0] desc ADC                                                           */
      __IOM uint32_t VC         : 1;            /*!< [1..1] desc VC                                                            */
      __IOM uint32_t SPI1       : 1;            /*!< [2..2] desc SPI1                                                          */
      __IOM uint32_t UART1      : 1;            /*!< [3..3] desc UART1                                                         */
      __IOM uint32_t UART2      : 1;            /*!< [4..4] desc UART2                                                         */
      __IOM uint32_t ATIM       : 1;            /*!< [5..5] desc ATIM                                                          */
      __IOM uint32_t GTIM1      : 1;            /*!< [6..6] desc GTIM1                                                         */
            uint32_t            : 9;
      __IOM uint32_t KEY        : 16;           /*!< desc KEY                                                                  */
    } APBEN1_f;
  } ;
  __IM  uint32_t  RESERVED1;

  union {
    __IOM uint32_t AHBRST;                      /*!< (@ 0x00000040) AHB Reset Control Reg                                      */

    struct {
      __IM  uint32_t            : 1;
      __IOM uint32_t FLASH      : 1;            /*!< [1..1] desc FLASH                                                         */
      __IOM uint32_t CRC        : 1;            /*!< [2..2] desc CRC                                                           */
      __IM  uint32_t            : 1;
      __IOM uint32_t GPIOA      : 1;            /*!< [4..4] desc GPIOA                                                         */
      __IOM uint32_t GPIOB      : 1;            /*!< [5..5] desc GPIOB                                                         */
    } AHBRST_f;
  } ;

  union {
    __IOM uint32_t APBRST2;                     /*!< (@ 0x00000044) APB Reset Control Reg2                                     */

    struct {
      __IM  uint32_t            : 1;
      __IOM uint32_t RTC        : 1;            /*!< [1..1] desc RTC                                                           */
      __IOM uint32_t BTIM123    : 1;            /*!< [2..2] desc BTIM123                                                       */
      __IM  uint32_t            : 1;
      __IOM uint32_t IWDT       : 1;            /*!< [4..4] desc IWDT                                                          */
      __IM  uint32_t            : 1;
      __IOM uint32_t I2C1       : 1;            /*!< [6..6] desc I2C1                                                          */
      __IOM uint32_t LPTIM      : 1;            /*!< [7..7] desc LPTIM                                                         */
    } APBRST2_f;
  } ;

  union {
    __IOM uint32_t APBRST1;                     /*!< (@ 0x00000048) APB Reset Control Reg1                                     */

    struct {
      __IOM uint32_t ADC        : 1;            /*!< [0..0] desc ADC                                                           */
      __IOM uint32_t VC         : 1;            /*!< [1..1] desc VC                                                            */
      __IOM uint32_t SPI1       : 1;            /*!< [2..2] desc SPI1                                                          */
      __IOM uint32_t UART1      : 1;            /*!< [3..3] desc UART1                                                         */
      __IOM uint32_t UART2      : 1;            /*!< [4..4] desc UART2                                                         */
      __IOM uint32_t ATIM       : 1;            /*!< [5..5] desc ATIM                                                          */
      __IOM uint32_t GTIM1      : 1;            /*!< [6..6] desc GTIM1                                                         */
    } APBRST1_f;
  } ;

  union {
    __IOM uint32_t RESETFLAG;                   /*!< (@ 0x0000004C) Reset Status Reg                                           */

    struct {
      __IOM uint32_t POR        : 1;            /*!< [0..0] desc POR                                                           */
      __IM  uint32_t            : 2;
      __IOM uint32_t LVD        : 1;            /*!< [3..3] desc LVD                                                           */
      __IOM uint32_t IWDT       : 1;            /*!< [4..4] desc IWDT                                                          */
      __IM  uint32_t            : 1;
      __IOM uint32_t RSTB       : 1;            /*!< [6..6] desc RSTB                                                          */
      __IM  uint32_t            : 1;
      __IOM uint32_t LOCKUP     : 1;            /*!< [8..8] desc LOCKUP                                                        */
      __IOM uint32_t SYSRESETREQ : 1;           /*!< [9..9] desc SYSRESETREQ                                                   */
    } RESETFLAG_f;
  } ;
  __IM  uint32_t  RESERVED2[8];

  union {
    __IOM uint32_t MCO;                         /*!< (@ 0x00000070) Master Clock Output Control Reg                            */

    struct {
      __IOM uint32_t SOURCE     : 4;            /*!< [3..0] desc SOURCE                                                        */
      __IOM uint32_t DIV        : 3;            /*!< [6..4] desc DIV                                                           */
    } MCO_f;
  } ;
} SYSCTRL_TypeDef;                                 /*!< Size = 116 (0x74)                                                         */



/* =========================================================================================================================== */
/* ================                                            VC1                                            ================ */
/* =========================================================================================================================== */


/**
  * @brief desc VC1 (VC1)
  */

typedef struct {                                /*!< (@ 0x400000A4) VC1 Structure                                              */

  union {
    __IOM uint32_t CR0;                         /*!< (@ 0x00000000) VC Control register0                                       */

    struct {
      __IOM uint32_t EN         : 1;            /*!< [0..0] desc EN                                                            */
      __IOM uint32_t RESP       : 1;            /*!< [1..1] desc RESP                                                          */
      __IOM uint32_t HYS        : 1;            /*!< [2..2] desc HYS                                                           */
      __IOM uint32_t IE         : 1;            /*!< [3..3] desc IE                                                            */
      __IOM uint32_t POL        : 1;            /*!< [4..4] desc POL                                                           */
      __IOM uint32_t WINDOW     : 1;            /*!< [5..5] desc WINDOW                                                        */
      __IOM uint32_t INP        : 2;            /*!< [7..6] desc PCHANNEL                                                      */
      __IOM uint32_t INN        : 2;            /*!< [9..8] desc NCHANNEL                                                      */
    } CR0_f;
  } ;

  union {
    __IOM uint32_t CR1;                         /*!< (@ 0x00000004) VC Control register1                                       */

    struct {
      __IOM uint32_t FLTTIME    : 4;            /*!< [3..0] desc FLTTIME                                                       */
      __IOM uint32_t FLTCLK     : 1;            /*!< [4..4] desc FLTCLK                                                        */
      __IOM uint32_t FALLIE     : 1;            /*!< [5..5] desc FALLIE                                                        */
      __IOM uint32_t RISEIE     : 1;            /*!< [6..6] desc RISEIE                                                        */
      __IOM uint32_t HIGHIE     : 1;            /*!< [7..7] desc HIGHIE                                                        */
      __IOM uint32_t BLANKATCH1 : 1;            /*!< [8..8] desc BLANKATCH1                                                           */
      __IOM uint32_t BLANKATCH2 : 1;            /*!< [9..9] desc BLANKATCH2                                                           */
      __IOM uint32_t BLANKATCH3 : 1;            /*!< [10..10] desc BLANKATCH3                                                           */
      __IOM uint32_t BLANKATCH4 : 1;            /*!< [11..11] desc BLANKATCH4                                                           */
      __IOM uint32_t BLANKATCH5 : 1;            /*!< [12..12] desc BLANKATCH5                                                           */
      __IOM uint32_t BLANKATCH6 : 1;            /*!< [13..13] desc BLANKATCH6                                                           */
      __IOM uint32_t BLANKTIME  : 3;            /*!< [16..14] desc BLANKTIME                                                            */
      __IOM uint32_t BLANKLVL   : 1;            /*!< [17..17] desc BLANKLVL                                                             */
    } CR1_f;
  } ;

  union {
    __IOM uint32_t SR;                          /*!< (@ 0x00000008) VC State REG                                               */

    struct {
      __IOM uint32_t INTF       : 1;            /*!< [0..0] desc INTF                                                          */
      __IM  uint32_t FLTV       : 1;            /*!< [1..1] desc FLTV                                                          */
    } SR_f;
  } ;
} VC_TypeDef;                                      /*!< Size = 12 (0xc)                                                           */



/* =========================================================================================================================== */
/* ================                                           VCREF                                           ================ */
/* =========================================================================================================================== */


/**
  * @brief desc VCREF (VCREF)
  */

typedef struct {                                /*!< (@ 0x400000A0) VCREF Structure                                            */

  union {
    __IOM uint32_t CR;                          /*!< (@ 0x00000000) VCREF Control register                                     */

    struct {
      __IOM uint32_t DIV        : 3;            /*!< [2..0] desc DIV                                                           */
      __IM  uint32_t            : 1;
      __IOM uint32_t EN         : 1;            /*!< [4..4] desc EN                                                            */
      __IOM uint32_t VIN        : 1;            /*!< [5..5] desc VIN                                                           */
    } CR_f;
  } ;
} VCREF_TypeDef;                                   /*!< Size = 4 (0x4)                                                            */


/** @} */ /* End of group Device_Peripheral_peripherals */


/* =========================================================================================================================== */
/* ================                          Device Specific Peripheral Address Map                           ================ */
/* =========================================================================================================================== */


/** @addtogroup Device_Peripheral_peripheralAddr
  * @{
  */

#define ADC_BASE                    0x40000000UL
#define ATIM_BASE                   0x40001400UL
#define BTIM1_BASE                  0x40004800UL
#define BTIM2_BASE                  0x40004840UL
#define BTIM3_BASE                  0x40004880UL
#define CRC_BASE                    0x40023000UL
#define FLASH_BASE                  0x40022000UL
#define GPIOA_BASE                  0x48000000UL
#define GPIOB_BASE                  0x48000100UL
#define GTIM1_BASE                  0x40001800UL
#define I2C1_BASE                   0x40005800UL
#define IRMOD_BASE                  0x40004080UL
#define IWDT_BASE                   0x40005000UL
#define LPTIM_BASE                  0x40006000UL
#define RAM_BASE                    0x40022400UL
#define UART1_BASE                  0x40000C00UL
#define UART2_BASE                  0x40001000UL
#define LVD_BASE                    0x400000D0UL
#define RTC_BASE                    0x40004400UL
#define SPI_BASE                    0x40000800UL
#define SYSCTRL_BASE                0x40004000UL
#define VC1_BASE                    0x400000A4UL
#define VC2_BASE                    0x400000B4UL
#define VCREF_BASE                  0x400000A0UL

/** @} */ /* End of group Device_Peripheral_peripheralAddr */


/* =========================================================================================================================== */
/* ================                                  Peripheral declaration                                   ================ */
/* =========================================================================================================================== */


/** @addtogroup Device_Peripheral_declaration
  * @{
  */

#define CW_ADC                         ((ADC_TypeDef*)               ADC_BASE)
#define CW_ATIM                        ((ATIM_TypeDef*)              ATIM_BASE)
#define CW_BTIM1                       ((BTIM_TypeDef*)              BTIM1_BASE)
#define CW_BTIM2                       ((BTIM_TypeDef*)              BTIM2_BASE)
#define CW_BTIM3                       ((BTIM_TypeDef*)              BTIM3_BASE)
#define CW_CRC                         ((CRC_TypeDef*)               CRC_BASE)
#define CW_FLASH                       ((FLASH_TypeDef*)             FLASH_BASE)
#define CW_GPIOA                       ((GPIO_TypeDef*)              GPIOA_BASE)
#define CW_GPIOB                       ((GPIO_TypeDef*)              GPIOB_BASE)
#define CW_GTIM1                       ((GTIM_TypeDef*)              GTIM1_BASE)
#define CW_I2C1                        ((I2C_TypeDef*)               I2C1_BASE)
#define CW_IRMOD                       ((IRMOD_TypeDef*)             IRMOD_BASE)
#define CW_IWDT                        ((IWDT_TypeDef*)              IWDT_BASE)
#define CW_LPTIM                       ((LPTIM_TypeDef*)             LPTIM_BASE)
#define CW_RAM                         ((RAM_TypeDef*)               RAM_BASE)
#define CW_UART1                       ((UART_TypeDef*)              UART1_BASE)
#define CW_UART2                       ((UART_TypeDef*)              UART2_BASE)
#define CW_LVD                         ((LVD_TypeDef*)               LVD_BASE)
#define CW_RTC                         ((RTC_TypeDef*)               RTC_BASE)
#define CW_SPI                         ((SPI_TypeDef*)               SPI_BASE)
#define CW_SYSCTRL                     ((SYSCTRL_TypeDef*)           SYSCTRL_BASE)
#define CW_VC1                         ((VC_TypeDef*)                VC1_BASE)
#define CW_VC2                         ((VC_TypeDef*)                VC2_BASE)
#define CW_VCREF                       ((VCREF_TypeDef*)             VCREF_BASE)

/** @} */ /* End of group Device_Peripheral_declaration */


/* =========================================  End of section using anonymous unions  ========================================= */
#if defined (__CC_ARM)
  #pragma pop
#elif defined (__ICCARM__)
  /* leave anonymous unions enabled */
#elif defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050)
  #pragma clang diagnostic pop
#elif defined (__GNUC__)
  /* anonymous unions are enabled by default */
#elif defined (__TMS470__)
  /* anonymous unions are enabled by default */
#elif defined (__TASKING__)
  #pragma warning restore
#elif defined (__CSMC__)
  /* anonymous unions are enabled by default */
#endif


/* =========================================================================================================================== */
/* ================                                Pos/Mask Peripheral Section                                ================ */
/* =========================================================================================================================== */


/** @addtogroup PosMask_peripherals
  * @{
  */



/* =========================================================================================================================== */
/* ================                                            ADC                                            ================ */
/* =========================================================================================================================== */

/* ==========================================================  CR  =========================================================== */
#define ADC_CR_ENS_Pos                    (6UL)                     /*!< ENS (Bit 6)                                           */
#define ADC_CR_ENS_Msk                    (0x1c0UL)                 /*!< ENS (Bitfield-Mask: 0x07)                             */
#define ADC_CR_CLK_Pos                    (4UL)                     /*!< CLK (Bit 4)                                           */
#define ADC_CR_CLK_Msk                    (0x30UL)                  /*!< CLK (Bitfield-Mask: 0x03)                             */
#define ADC_CR_CONT_Pos                   (3UL)                     /*!< CONT (Bit 3)                                          */
#define ADC_CR_CONT_Msk                   (0x8UL)                   /*!< CONT (Bitfield-Mask: 0x01)                            */
#define ADC_CR_TSEN_Pos                   (2UL)                     /*!< TSEN (Bit 2)                                          */
#define ADC_CR_TSEN_Msk                   (0x4UL)                   /*!< TSEN (Bitfield-Mask: 0x01)                            */
#define ADC_CR_BGREN_Pos                  (1UL)                     /*!< BGREN (Bit 1)                                         */
#define ADC_CR_BGREN_Msk                  (0x2UL)                   /*!< BGREN (Bitfield-Mask: 0x01)                           */
#define ADC_CR_EN_Pos                     (0UL)                     /*!< EN (Bit 0)                                            */
#define ADC_CR_EN_Msk                     (0x1UL)                   /*!< EN (Bitfield-Mask: 0x01)                              */
/* =========================================================  START  ========================================================= */
#define ADC_START_START_Pos               (0UL)                     /*!< START (Bit 0)                                         */
#define ADC_START_START_Msk               (0x1UL)                   /*!< START (Bitfield-Mask: 0x01)                           */
/* ========================================================  SQRCFR  ========================================================= */
#define ADC_SQRCFR_SQRCH7_Pos             (28UL)                    /*!< SQRCH7 (Bit 28)                                       */
#define ADC_SQRCFR_SQRCH7_Msk             (0xf0000000UL)            /*!< SQRCH7 (Bitfield-Mask: 0x0f)                          */
#define ADC_SQRCFR_SQRCH6_Pos             (24UL)                    /*!< SQRCH6 (Bit 24)                                       */
#define ADC_SQRCFR_SQRCH6_Msk             (0xf000000UL)             /*!< SQRCH6 (Bitfield-Mask: 0x0f)                          */
#define ADC_SQRCFR_SQRCH5_Pos             (20UL)                    /*!< SQRCH5 (Bit 20)                                       */
#define ADC_SQRCFR_SQRCH5_Msk             (0xf00000UL)              /*!< SQRCH5 (Bitfield-Mask: 0x0f)                          */
#define ADC_SQRCFR_SQRCH4_Pos             (16UL)                    /*!< SQRCH4 (Bit 16)                                       */
#define ADC_SQRCFR_SQRCH4_Msk             (0xf0000UL)               /*!< SQRCH4 (Bitfield-Mask: 0x0f)                          */
#define ADC_SQRCFR_SQRCH3_Pos             (12UL)                    /*!< SQRCH3 (Bit 12)                                       */
#define ADC_SQRCFR_SQRCH3_Msk             (0xf000UL)                /*!< SQRCH3 (Bitfield-Mask: 0x0f)                          */
#define ADC_SQRCFR_SQRCH2_Pos             (8UL)                     /*!< SQRCH2 (Bit 8)                                        */
#define ADC_SQRCFR_SQRCH2_Msk             (0xf00UL)                 /*!< SQRCH2 (Bitfield-Mask: 0x0f)                          */
#define ADC_SQRCFR_SQRCH1_Pos             (4UL)                     /*!< SQRCH1 (Bit 4)                                        */
#define ADC_SQRCFR_SQRCH1_Msk             (0xf0UL)                  /*!< SQRCH1 (Bitfield-Mask: 0x0f)                          */
#define ADC_SQRCFR_SQRCH0_Pos             (0UL)                     /*!< SQRCH0 (Bit 0)                                        */
#define ADC_SQRCFR_SQRCH0_Msk             (0xfUL)                   /*!< SQRCH0 (Bitfield-Mask: 0x0f)                          */
/* =========================================================  AWDTR  ========================================================= */
#define ADC_AWDTR_VTH_Pos                 (16UL)                    /*!< VTH (Bit 16)                                          */
#define ADC_AWDTR_VTH_Msk                 (0xfff0000UL)             /*!< VTH (Bitfield-Mask: 0xfff)                            */
#define ADC_AWDTR_VTL_Pos                 (0UL)                     /*!< VTL (Bit 0)                                           */
#define ADC_AWDTR_VTL_Msk                 (0xfffUL)                 /*!< VTL (Bitfield-Mask: 0xfff)                            */
/* =========================================================  AWDCR  ========================================================= */
#define ADC_AWDCR_IN15_Pos                (15UL)                    /*!< IN15 (Bit 15)                                         */
#define ADC_AWDCR_IN15_Msk                (0x8000UL)                /*!< IN15 (Bitfield-Mask: 0x01)                            */
#define ADC_AWDCR_IN14_Pos                (14UL)                    /*!< IN14 (Bit 14)                                         */
#define ADC_AWDCR_IN14_Msk                (0x4000UL)                /*!< IN14 (Bitfield-Mask: 0x01)                            */
#define ADC_AWDCR_IN13_Pos                (13UL)                    /*!< IN13 (Bit 13)                                         */
#define ADC_AWDCR_IN13_Msk                (0x2000UL)                /*!< IN13 (Bitfield-Mask: 0x01)                            */
#define ADC_AWDCR_IN12_Pos                (12UL)                    /*!< IN12 (Bit 12)                                         */
#define ADC_AWDCR_IN12_Msk                (0x1000UL)                /*!< IN12 (Bitfield-Mask: 0x01)                            */
#define ADC_AWDCR_IN11_Pos                (11UL)                    /*!< IN11 (Bit 11)                                         */
#define ADC_AWDCR_IN11_Msk                (0x800UL)                 /*!< IN11 (Bitfield-Mask: 0x01)                            */
#define ADC_AWDCR_IN10_Pos                (10UL)                    /*!< IN10 (Bit 10)                                         */
#define ADC_AWDCR_IN10_Msk                (0x400UL)                 /*!< IN10 (Bitfield-Mask: 0x01)                            */
#define ADC_AWDCR_IN9_Pos                 (9UL)                     /*!< IN9 (Bit 9)                                           */
#define ADC_AWDCR_IN9_Msk                 (0x200UL)                 /*!< IN9 (Bitfield-Mask: 0x01)                             */
#define ADC_AWDCR_IN8_Pos                 (8UL)                     /*!< IN8 (Bit 8)                                           */
#define ADC_AWDCR_IN8_Msk                 (0x100UL)                 /*!< IN8 (Bitfield-Mask: 0x01)                             */
#define ADC_AWDCR_IN7_Pos                 (7UL)                     /*!< IN7 (Bit 7)                                           */
#define ADC_AWDCR_IN7_Msk                 (0x80UL)                  /*!< IN7 (Bitfield-Mask: 0x01)                             */
#define ADC_AWDCR_IN6_Pos                 (6UL)                     /*!< IN6 (Bit 6)                                           */
#define ADC_AWDCR_IN6_Msk                 (0x40UL)                  /*!< IN6 (Bitfield-Mask: 0x01)                             */
#define ADC_AWDCR_IN5_Pos                 (5UL)                     /*!< IN5 (Bit 5)                                           */
#define ADC_AWDCR_IN5_Msk                 (0x20UL)                  /*!< IN5 (Bitfield-Mask: 0x01)                             */
#define ADC_AWDCR_IN4_Pos                 (4UL)                     /*!< IN4 (Bit 4)                                           */
#define ADC_AWDCR_IN4_Msk                 (0x10UL)                  /*!< IN4 (Bitfield-Mask: 0x01)                             */
#define ADC_AWDCR_IN3_Pos                 (3UL)                     /*!< IN3 (Bit 3)                                           */
#define ADC_AWDCR_IN3_Msk                 (0x8UL)                   /*!< IN3 (Bitfield-Mask: 0x01)                             */
#define ADC_AWDCR_IN2_Pos                 (2UL)                     /*!< IN2 (Bit 2)                                           */
#define ADC_AWDCR_IN2_Msk                 (0x4UL)                   /*!< IN2 (Bitfield-Mask: 0x01)                             */
#define ADC_AWDCR_IN1_Pos                 (1UL)                     /*!< IN1 (Bit 1)                                           */
#define ADC_AWDCR_IN1_Msk                 (0x2UL)                   /*!< IN1 (Bitfield-Mask: 0x01)                             */
#define ADC_AWDCR_IN0_Pos                 (0UL)                     /*!< IN0 (Bit 0)                                           */
#define ADC_AWDCR_IN0_Msk                 (0x1UL)                   /*!< IN0 (Bitfield-Mask: 0x01)                             */
/* ========================================================  SAMPLE  ========================================================= */
#define ADC_SAMPLE_SQRCH7_Pos             (28UL)                    /*!< SQRCH7 (Bit 28)                                       */
#define ADC_SAMPLE_SQRCH7_Msk             (0xf0000000UL)            /*!< SQRCH7 (Bitfield-Mask: 0x0f)                          */
#define ADC_SAMPLE_SQRCH6_Pos             (24UL)                    /*!< SQRCH6 (Bit 24)                                       */
#define ADC_SAMPLE_SQRCH6_Msk             (0xf000000UL)             /*!< SQRCH6 (Bitfield-Mask: 0x0f)                          */
#define ADC_SAMPLE_SQRCH5_Pos             (20UL)                    /*!< SQRCH5 (Bit 20)                                       */
#define ADC_SAMPLE_SQRCH5_Msk             (0xf00000UL)              /*!< SQRCH5 (Bitfield-Mask: 0x0f)                          */
#define ADC_SAMPLE_SQRCH4_Pos             (16UL)                    /*!< SQRCH4 (Bit 16)                                       */
#define ADC_SAMPLE_SQRCH4_Msk             (0xf0000UL)               /*!< SQRCH4 (Bitfield-Mask: 0x0f)                          */
#define ADC_SAMPLE_SQRCH3_Pos             (12UL)                    /*!< SQRCH3 (Bit 12)                                       */
#define ADC_SAMPLE_SQRCH3_Msk             (0xf000UL)                /*!< SQRCH3 (Bitfield-Mask: 0x0f)                          */
#define ADC_SAMPLE_SQRCH2_Pos             (8UL)                     /*!< SQRCH2 (Bit 8)                                        */
#define ADC_SAMPLE_SQRCH2_Msk             (0xf00UL)                 /*!< SQRCH2 (Bitfield-Mask: 0x0f)                          */
#define ADC_SAMPLE_SQRCH1_Pos             (4UL)                     /*!< SQRCH1 (Bit 4)                                        */
#define ADC_SAMPLE_SQRCH1_Msk             (0xf0UL)                  /*!< SQRCH1 (Bitfield-Mask: 0x0f)                          */
#define ADC_SAMPLE_SQRCH0_Pos             (0UL)                     /*!< SQRCH0 (Bit 0)                                        */
#define ADC_SAMPLE_SQRCH0_Msk             (0xfUL)                   /*!< SQRCH0 (Bitfield-Mask: 0x0f)                          */
/* ========================================================  TRIGGER  ======================================================== */
#define ADC_TRIGGER_UART2_Pos             (18UL)                    /*!< UART2 (Bit 18)                                        */
#define ADC_TRIGGER_UART2_Msk             (0x40000UL)               /*!< UART2 (Bitfield-Mask: 0x01)                           */
#define ADC_TRIGGER_UART1_Pos             (17UL)                    /*!< UART1 (Bit 17)                                        */
#define ADC_TRIGGER_UART1_Msk             (0x20000UL)               /*!< UART1 (Bitfield-Mask: 0x01)                           */
#define ADC_TRIGGER_SPI1_Pos              (16UL)                    /*!< SPI1 (Bit 16)                                         */
#define ADC_TRIGGER_SPI1_Msk              (0x10000UL)               /*!< SPI1 (Bitfield-Mask: 0x01)                            */
#define ADC_TRIGGER_BTIM3TRGO_Pos         (15UL)                    /*!< BTIM3TRGO (Bit 15)                                    */
#define ADC_TRIGGER_BTIM3TRGO_Msk         (0x8000UL)                /*!< BTIM3TRGO (Bitfield-Mask: 0x01)                       */
#define ADC_TRIGGER_BTIM2TRGO_Pos         (14UL)                    /*!< BTIM2TRGO (Bit 14)                                    */
#define ADC_TRIGGER_BTIM2TRGO_Msk         (0x4000UL)                /*!< BTIM2TRGO (Bitfield-Mask: 0x01)                       */
#define ADC_TRIGGER_BTIM1TRGO_Pos         (13UL)                    /*!< BTIM1TRGO (Bit 13)                                    */
#define ADC_TRIGGER_BTIM1TRGO_Msk         (0x2000UL)                /*!< BTIM1TRGO (Bitfield-Mask: 0x01)                       */
#define ADC_TRIGGER_GTIM1CC4_Pos          (12UL)                    /*!< GTIM1CC4 (Bit 12)                                     */
#define ADC_TRIGGER_GTIM1CC4_Msk          (0x1000UL)                /*!< GTIM1CC4 (Bitfield-Mask: 0x01)                        */
#define ADC_TRIGGER_GTIM1CC3_Pos          (11UL)                    /*!< GTIM1CC3 (Bit 11)                                     */
#define ADC_TRIGGER_GTIM1CC3_Msk          (0x800UL)                 /*!< GTIM1CC3 (Bitfield-Mask: 0x01)                        */
#define ADC_TRIGGER_GTIM1CC2_Pos          (10UL)                    /*!< GTIM1CC2 (Bit 10)                                     */
#define ADC_TRIGGER_GTIM1CC2_Msk          (0x400UL)                 /*!< GTIM1CC2 (Bitfield-Mask: 0x01)                        */
#define ADC_TRIGGER_GTIM1CC1_Pos          (9UL)                     /*!< GTIM1CC1 (Bit 9)                                      */
#define ADC_TRIGGER_GTIM1CC1_Msk          (0x200UL)                 /*!< GTIM1CC1 (Bitfield-Mask: 0x01)                        */
#define ADC_TRIGGER_GTIM1TRGO_Pos         (8UL)                     /*!< GTIM1TRGO (Bit 8)                                     */
#define ADC_TRIGGER_GTIM1TRGO_Msk         (0x100UL)                 /*!< GTIM1TRGO (Bitfield-Mask: 0x01)                       */
#define ADC_TRIGGER_ATIMCC6_Pos           (7UL)                     /*!< ATIMCC6 (Bit 7)                                       */
#define ADC_TRIGGER_ATIMCC6_Msk           (0x80UL)                  /*!< ATIMCC6 (Bitfield-Mask: 0x01)                         */
#define ADC_TRIGGER_ATIMCC5_Pos           (6UL)                     /*!< ATIMCC5 (Bit 6)                                       */
#define ADC_TRIGGER_ATIMCC5_Msk           (0x40UL)                  /*!< ATIMCC5 (Bitfield-Mask: 0x01)                         */
#define ADC_TRIGGER_ATIMCC4_Pos           (5UL)                     /*!< ATIMCC4 (Bit 5)                                       */
#define ADC_TRIGGER_ATIMCC4_Msk           (0x20UL)                  /*!< ATIMCC4 (Bitfield-Mask: 0x01)                         */
#define ADC_TRIGGER_ATIMCC3_Pos           (4UL)                     /*!< ATIMCC3 (Bit 4)                                       */
#define ADC_TRIGGER_ATIMCC3_Msk           (0x10UL)                  /*!< ATIMCC3 (Bitfield-Mask: 0x01)                         */
#define ADC_TRIGGER_ATIMCC2_Pos           (3UL)                     /*!< ATIMCC2 (Bit 3)                                       */
#define ADC_TRIGGER_ATIMCC2_Msk           (0x8UL)                   /*!< ATIMCC2 (Bitfield-Mask: 0x01)                         */
#define ADC_TRIGGER_ATIMCC1_Pos           (2UL)                     /*!< ATIMCC1 (Bit 2)                                       */
#define ADC_TRIGGER_ATIMCC1_Msk           (0x4UL)                   /*!< ATIMCC1 (Bitfield-Mask: 0x01)                         */
#define ADC_TRIGGER_ATIMTRGO2_Pos         (1UL)                     /*!< ATIMTRGO2 (Bit 1)                                     */
#define ADC_TRIGGER_ATIMTRGO2_Msk         (0x2UL)                   /*!< ATIMTRGO2 (Bitfield-Mask: 0x01)                       */
#define ADC_TRIGGER_ATIMTRGO_Pos          (0UL)                     /*!< ATIMTRGO (Bit 0)                                      */
#define ADC_TRIGGER_ATIMTRGO_Msk          (0x1UL)                   /*!< ATIMTRGO (Bitfield-Mask: 0x01)                        */
/* ==========================================================  IER  ========================================================== */
#define ADC_IER_AWDH_Pos                  (3UL)                     /*!< AWDH (Bit 3)                                          */
#define ADC_IER_AWDH_Msk                  (0x8UL)                   /*!< AWDH (Bitfield-Mask: 0x01)                            */
#define ADC_IER_AWDL_Pos                  (2UL)                     /*!< AWDL (Bit 2)                                          */
#define ADC_IER_AWDL_Msk                  (0x4UL)                   /*!< AWDL (Bitfield-Mask: 0x01)                            */
#define ADC_IER_EOS_Pos                   (1UL)                     /*!< EOS (Bit 1)                                           */
#define ADC_IER_EOS_Msk                   (0x2UL)                   /*!< EOS (Bitfield-Mask: 0x01)                             */
#define ADC_IER_EOC_Pos                   (0UL)                     /*!< EOC (Bit 0)                                           */
#define ADC_IER_EOC_Msk                   (0x1UL)                   /*!< EOC (Bitfield-Mask: 0x01)                             */
/* ==========================================================  ISR  ========================================================== */
#define ADC_ISR_AWDH_Pos                  (3UL)                     /*!< AWDH (Bit 3)                                          */
#define ADC_ISR_AWDH_Msk                  (0x8UL)                   /*!< AWDH (Bitfield-Mask: 0x01)                            */
#define ADC_ISR_AWDL_Pos                  (2UL)                     /*!< AWDL (Bit 2)                                          */
#define ADC_ISR_AWDL_Msk                  (0x4UL)                   /*!< AWDL (Bitfield-Mask: 0x01)                            */
#define ADC_ISR_EOS_Pos                   (1UL)                     /*!< EOS (Bit 1)                                           */
#define ADC_ISR_EOS_Msk                   (0x2UL)                   /*!< EOS (Bitfield-Mask: 0x01)                             */
#define ADC_ISR_EOC_Pos                   (0UL)                     /*!< EOC (Bit 0)                                           */
#define ADC_ISR_EOC_Msk                   (0x1UL)                   /*!< EOC (Bitfield-Mask: 0x01)                             */
/* ==========================================================  ICR  ========================================================== */
#define ADC_ICR_AWDH_Pos                  (3UL)                     /*!< AWDH (Bit 3)                                          */
#define ADC_ICR_AWDH_Msk                  (0x8UL)                   /*!< AWDH (Bitfield-Mask: 0x01)                            */
#define ADC_ICR_AWDL_Pos                  (2UL)                     /*!< AWDL (Bit 2)                                          */
#define ADC_ICR_AWDL_Msk                  (0x4UL)                   /*!< AWDL (Bitfield-Mask: 0x01)                            */
#define ADC_ICR_EOS_Pos                   (1UL)                     /*!< EOS (Bit 1)                                           */
#define ADC_ICR_EOS_Msk                   (0x2UL)                   /*!< EOS (Bitfield-Mask: 0x01)                             */
#define ADC_ICR_EOC_Pos                   (0UL)                     /*!< EOC (Bit 0)                                           */
#define ADC_ICR_EOC_Msk                   (0x1UL)                   /*!< EOC (Bitfield-Mask: 0x01)                             */
/* ========================================================  RESULT0  ======================================================== */
#define ADC_RESULT0_RESULT_Pos            (0UL)                     /*!< RESULT (Bit 0)                                        */
#define ADC_RESULT0_RESULT_Msk            (0xffffUL)                /*!< RESULT (Bitfield-Mask: 0xffff)                        */
/* ========================================================  RESULT1  ======================================================== */
#define ADC_RESULT1_RESULT_Pos            (0UL)                     /*!< RESULT (Bit 0)                                        */
#define ADC_RESULT1_RESULT_Msk            (0xffffUL)                /*!< RESULT (Bitfield-Mask: 0xffff)                        */
/* ========================================================  RESULT2  ======================================================== */
#define ADC_RESULT2_RESULT_Pos            (0UL)                     /*!< RESULT (Bit 0)                                        */
#define ADC_RESULT2_RESULT_Msk            (0xffffUL)                /*!< RESULT (Bitfield-Mask: 0xffff)                        */
/* ========================================================  RESULT3  ======================================================== */
#define ADC_RESULT3_RESULT_Pos            (0UL)                     /*!< RESULT (Bit 0)                                        */
#define ADC_RESULT3_RESULT_Msk            (0xffffUL)                /*!< RESULT (Bitfield-Mask: 0xffff)                        */
/* ========================================================  RESULT4  ======================================================== */
#define ADC_RESULT4_RESULT_Pos            (0UL)                     /*!< RESULT (Bit 0)                                        */
#define ADC_RESULT4_RESULT_Msk            (0xffffUL)                /*!< RESULT (Bitfield-Mask: 0xffff)                        */
/* ========================================================  RESULT5  ======================================================== */
#define ADC_RESULT5_RESULT_Pos            (0UL)                     /*!< RESULT (Bit 0)                                        */
#define ADC_RESULT5_RESULT_Msk            (0xffffUL)                /*!< RESULT (Bitfield-Mask: 0xffff)                        */
/* ========================================================  RESULT6  ======================================================== */
#define ADC_RESULT6_RESULT_Pos            (0UL)                     /*!< RESULT (Bit 0)                                        */
#define ADC_RESULT6_RESULT_Msk            (0xffffUL)                /*!< RESULT (Bitfield-Mask: 0xffff)                        */
/* ========================================================  RESULT7  ======================================================== */
#define ADC_RESULT7_RESULT_Pos            (0UL)                     /*!< RESULT (Bit 0)                                        */
#define ADC_RESULT7_RESULT_Msk            (0xffffUL)                /*!< RESULT (Bitfield-Mask: 0xffff)                        */


/* =========================================================================================================================== */
/* ================                                           ATIM                                            ================ */
/* =========================================================================================================================== */

/* ==========================================================  CR1  ========================================================== */
#define ATIM_CR1_UIFREMAP_Pos             (11UL)                    /*!< UIFREMAP (Bit 11)                                     */
#define ATIM_CR1_UIFREMAP_Msk             (0x800UL)                 /*!< UIFREMAP (Bitfield-Mask: 0x01)                        */
#define ATIM_CR1_CKD_Pos                  (8UL)                     /*!< CKD (Bit 8)                                           */
#define ATIM_CR1_CKD_Msk                  (0x300UL)                 /*!< CKD (Bitfield-Mask: 0x03)                             */
#define ATIM_CR1_ARPE_Pos                 (7UL)                     /*!< ARPE (Bit 7)                                          */
#define ATIM_CR1_ARPE_Msk                 (0x80UL)                  /*!< ARPE (Bitfield-Mask: 0x01)                            */
#define ATIM_CR1_CMS_Pos                  (5UL)                     /*!< CMS (Bit 5)                                           */
#define ATIM_CR1_CMS_Msk                  (0x60UL)                  /*!< CMS (Bitfield-Mask: 0x03)                             */
#define ATIM_CR1_DIR_Pos                  (4UL)                     /*!< DIR (Bit 4)                                           */
#define ATIM_CR1_DIR_Msk                  (0x10UL)                  /*!< DIR (Bitfield-Mask: 0x01)                             */
#define ATIM_CR1_OPM_Pos                  (3UL)                     /*!< OPM (Bit 3)                                           */
#define ATIM_CR1_OPM_Msk                  (0x8UL)                   /*!< OPM (Bitfield-Mask: 0x01)                             */
#define ATIM_CR1_URS_Pos                  (2UL)                     /*!< URS (Bit 2)                                           */
#define ATIM_CR1_URS_Msk                  (0x4UL)                   /*!< URS (Bitfield-Mask: 0x01)                             */
#define ATIM_CR1_UDIS_Pos                 (1UL)                     /*!< UDIS (Bit 1)                                          */
#define ATIM_CR1_UDIS_Msk                 (0x2UL)                   /*!< UDIS (Bitfield-Mask: 0x01)                            */
#define ATIM_CR1_CEN_Pos                  (0UL)                     /*!< CEN (Bit 0)                                           */
#define ATIM_CR1_CEN_Msk                  (0x1UL)                   /*!< CEN (Bitfield-Mask: 0x01)                             */
/* ==========================================================  CR2  ========================================================== */
#define ATIM_CR2_MMSH_Pos                 (25UL)                    /*!< MMSH (Bit 25)                                         */
#define ATIM_CR2_MMSH_Msk                 (0x6000000UL)             /*!< MMSH (Bitfield-Mask: 0x03)                            */
#define ATIM_CR2_MMS2_Pos                 (20UL)                    /*!< MMS2 (Bit 20)                                         */
#define ATIM_CR2_MMS2_Msk                 (0x1f00000UL)             /*!< MMS2 (Bitfield-Mask: 0x1f)                            */
#define ATIM_CR2_OIS6N_Pos                (19UL)                    /*!< OIS6N (Bit 19)                                        */
#define ATIM_CR2_OIS6N_Msk                (0x80000UL)               /*!< OIS6N (Bitfield-Mask: 0x01)                           */
#define ATIM_CR2_OIS6_Pos                 (18UL)                    /*!< OIS6 (Bit 18)                                         */
#define ATIM_CR2_OIS6_Msk                 (0x40000UL)               /*!< OIS6 (Bitfield-Mask: 0x01)                            */
#define ATIM_CR2_OIS5N_Pos                (17UL)                    /*!< OIS5N (Bit 17)                                        */
#define ATIM_CR2_OIS5N_Msk                (0x20000UL)               /*!< OIS5N (Bitfield-Mask: 0x01)                           */
#define ATIM_CR2_OIS5_Pos                 (16UL)                    /*!< OIS5 (Bit 16)                                         */
#define ATIM_CR2_OIS5_Msk                 (0x10000UL)               /*!< OIS5 (Bitfield-Mask: 0x01)                            */
#define ATIM_CR2_OIS4N_Pos                (15UL)                    /*!< OIS4N (Bit 15)                                        */
#define ATIM_CR2_OIS4N_Msk                (0x8000UL)                /*!< OIS4N (Bitfield-Mask: 0x01)                           */
#define ATIM_CR2_OIS4_Pos                 (14UL)                    /*!< OIS4 (Bit 14)                                         */
#define ATIM_CR2_OIS4_Msk                 (0x4000UL)                /*!< OIS4 (Bitfield-Mask: 0x01)                            */
#define ATIM_CR2_OIS3N_Pos                (13UL)                    /*!< OIS3N (Bit 13)                                        */
#define ATIM_CR2_OIS3N_Msk                (0x2000UL)                /*!< OIS3N (Bitfield-Mask: 0x01)                           */
#define ATIM_CR2_OIS3_Pos                 (12UL)                    /*!< OIS3 (Bit 12)                                         */
#define ATIM_CR2_OIS3_Msk                 (0x1000UL)                /*!< OIS3 (Bitfield-Mask: 0x01)                            */
#define ATIM_CR2_OIS2N_Pos                (11UL)                    /*!< OIS2N (Bit 11)                                        */
#define ATIM_CR2_OIS2N_Msk                (0x800UL)                 /*!< OIS2N (Bitfield-Mask: 0x01)                           */
#define ATIM_CR2_OIS2_Pos                 (10UL)                    /*!< OIS2 (Bit 10)                                         */
#define ATIM_CR2_OIS2_Msk                 (0x400UL)                 /*!< OIS2 (Bitfield-Mask: 0x01)                            */
#define ATIM_CR2_OIS1N_Pos                (9UL)                     /*!< OIS1N (Bit 9)                                         */
#define ATIM_CR2_OIS1N_Msk                (0x200UL)                 /*!< OIS1N (Bitfield-Mask: 0x01)                           */
#define ATIM_CR2_OIS1_Pos                 (8UL)                     /*!< OIS1 (Bit 8)                                          */
#define ATIM_CR2_OIS1_Msk                 (0x100UL)                 /*!< OIS1 (Bitfield-Mask: 0x01)                            */
#define ATIM_CR2_TI1S_Pos                 (7UL)                     /*!< TI1S (Bit 7)                                          */
#define ATIM_CR2_TI1S_Msk                 (0x80UL)                  /*!< TI1S (Bitfield-Mask: 0x01)                            */
#define ATIM_CR2_MMS_Pos                  (4UL)                     /*!< MMS (Bit 4)                                           */
#define ATIM_CR2_MMS_Msk                  (0x70UL)                  /*!< MMS (Bitfield-Mask: 0x07)                             */
#define ATIM_CR2_CCUS_Pos                 (2UL)                     /*!< CCUS (Bit 2)                                          */
#define ATIM_CR2_CCUS_Msk                 (0x4UL)                   /*!< CCUS (Bitfield-Mask: 0x01)                            */
#define ATIM_CR2_CCPC_Pos                 (0UL)                     /*!< CCPC (Bit 0)                                          */
#define ATIM_CR2_CCPC_Msk                 (0x1UL)                   /*!< CCPC (Bitfield-Mask: 0x01)                            */
/* =========================================================  SMCR  ========================================================== */
#define ATIM_SMCR_SMSPS_Pos               (25UL)                    /*!< SMSPS (Bit 25)                                        */
#define ATIM_SMCR_SMSPS_Msk               (0x2000000UL)             /*!< SMSPS (Bitfield-Mask: 0x01)                           */
#define ATIM_SMCR_SMSPE_Pos               (24UL)                    /*!< SMSPE (Bit 24)                                        */
#define ATIM_SMCR_SMSPE_Msk               (0x1000000UL)             /*!< SMSPE (Bitfield-Mask: 0x01)                           */
#define ATIM_SMCR_TSH_Pos                 (20UL)                    /*!< TSH (Bit 20)                                          */
#define ATIM_SMCR_TSH_Msk                 (0x300000UL)              /*!< TSH (Bitfield-Mask: 0x03)                             */
#define ATIM_SMCR_SMSH_Pos                (16UL)                    /*!< SMSH (Bit 16)                                         */
#define ATIM_SMCR_SMSH_Msk                (0x10000UL)               /*!< SMSH (Bitfield-Mask: 0x01)                            */
#define ATIM_SMCR_ETP_Pos                 (15UL)                    /*!< ETP (Bit 15)                                          */
#define ATIM_SMCR_ETP_Msk                 (0x8000UL)                /*!< ETP (Bitfield-Mask: 0x01)                             */
#define ATIM_SMCR_ECE_Pos                 (14UL)                    /*!< ECE (Bit 14)                                          */
#define ATIM_SMCR_ECE_Msk                 (0x4000UL)                /*!< ECE (Bitfield-Mask: 0x01)                             */
#define ATIM_SMCR_ETPS_Pos                (12UL)                    /*!< ETPS (Bit 12)                                         */
#define ATIM_SMCR_ETPS_Msk                (0x3000UL)                /*!< ETPS (Bitfield-Mask: 0x03)                            */
#define ATIM_SMCR_ETF_Pos                 (8UL)                     /*!< ETF (Bit 8)                                           */
#define ATIM_SMCR_ETF_Msk                 (0xf00UL)                 /*!< ETF (Bitfield-Mask: 0x0f)                             */
#define ATIM_SMCR_MSM_Pos                 (7UL)                     /*!< MSM (Bit 7)                                           */
#define ATIM_SMCR_MSM_Msk                 (0x80UL)                  /*!< MSM (Bitfield-Mask: 0x01)                             */
#define ATIM_SMCR_TS_Pos                  (4UL)                     /*!< TS (Bit 4)                                            */
#define ATIM_SMCR_TS_Msk                  (0x70UL)                  /*!< TS (Bitfield-Mask: 0x07)                              */
#define ATIM_SMCR_OCCS_Pos                (3UL)                     /*!< OCCS (Bit 3)                                          */
#define ATIM_SMCR_OCCS_Msk                (0x8UL)                   /*!< OCCS (Bitfield-Mask: 0x01)                            */
#define ATIM_SMCR_SMS_Pos                 (0UL)                     /*!< SMS (Bit 0)                                           */
#define ATIM_SMCR_SMS_Msk                 (0x7UL)                   /*!< SMS (Bitfield-Mask: 0x07)                             */
/* ==========================================================  IER  ========================================================== */
#define ATIM_IER_TERRIE_Pos               (23UL)                    /*!< TERRIE (Bit 23)                                       */
#define ATIM_IER_TERRIE_Msk               (0x800000UL)              /*!< TERRIE (Bitfield-Mask: 0x01)                          */
#define ATIM_IER_IERRIE_Pos               (22UL)                    /*!< IERRIE (Bit 22)                                       */
#define ATIM_IER_IERRIE_Msk               (0x400000UL)              /*!< IERRIE (Bitfield-Mask: 0x01)                          */
#define ATIM_IER_DIRIE_Pos                (21UL)                    /*!< DIRIE (Bit 21)                                        */
#define ATIM_IER_DIRIE_Msk                (0x200000UL)              /*!< DIRIE (Bitfield-Mask: 0x01)                           */
#define ATIM_IER_IDXIE_Pos                (20UL)                    /*!< IDXIE (Bit 20)                                        */
#define ATIM_IER_IDXIE_Msk                (0x100000UL)              /*!< IDXIE (Bitfield-Mask: 0x01)                           */
#define ATIM_IER_CC6IE_Pos                (17UL)                    /*!< CC6IE (Bit 17)                                        */
#define ATIM_IER_CC6IE_Msk                (0x20000UL)               /*!< CC6IE (Bitfield-Mask: 0x01)                           */
#define ATIM_IER_CC5IE_Pos                (16UL)                    /*!< CC5IE (Bit 16)                                        */
#define ATIM_IER_CC5IE_Msk                (0x10000UL)               /*!< CC5IE (Bitfield-Mask: 0x01)                           */
#define ATIM_IER_BIE_Pos                  (7UL)                     /*!< BIE (Bit 7)                                           */
#define ATIM_IER_BIE_Msk                  (0x80UL)                  /*!< BIE (Bitfield-Mask: 0x01)                             */
#define ATIM_IER_TIE_Pos                  (6UL)                     /*!< TIE (Bit 6)                                           */
#define ATIM_IER_TIE_Msk                  (0x40UL)                  /*!< TIE (Bitfield-Mask: 0x01)                             */
#define ATIM_IER_COMIE_Pos                (5UL)                     /*!< COMIE (Bit 5)                                         */
#define ATIM_IER_COMIE_Msk                (0x20UL)                  /*!< COMIE (Bitfield-Mask: 0x01)                           */
#define ATIM_IER_CC4IE_Pos                (4UL)                     /*!< CC4IE (Bit 4)                                         */
#define ATIM_IER_CC4IE_Msk                (0x10UL)                  /*!< CC4IE (Bitfield-Mask: 0x01)                           */
#define ATIM_IER_CC3IE_Pos                (3UL)                     /*!< CC3IE (Bit 3)                                         */
#define ATIM_IER_CC3IE_Msk                (0x8UL)                   /*!< CC3IE (Bitfield-Mask: 0x01)                           */
#define ATIM_IER_CC2IE_Pos                (2UL)                     /*!< CC2IE (Bit 2)                                         */
#define ATIM_IER_CC2IE_Msk                (0x4UL)                   /*!< CC2IE (Bitfield-Mask: 0x01)                           */
#define ATIM_IER_CC1IE_Pos                (1UL)                     /*!< CC1IE (Bit 1)                                         */
#define ATIM_IER_CC1IE_Msk                (0x2UL)                   /*!< CC1IE (Bitfield-Mask: 0x01)                           */
#define ATIM_IER_UIE_Pos                  (0UL)                     /*!< UIE (Bit 0)                                           */
#define ATIM_IER_UIE_Msk                  (0x1UL)                   /*!< UIE (Bitfield-Mask: 0x01)                             */
/* ==========================================================  ISR  ========================================================== */
#define ATIM_ISR_TERRF_Pos                (23UL)                    /*!< TERRF (Bit 23)                                        */
#define ATIM_ISR_TERRF_Msk                (0x800000UL)              /*!< TERRF (Bitfield-Mask: 0x01)                           */
#define ATIM_ISR_IERRF_Pos                (22UL)                    /*!< IERRF (Bit 22)                                        */
#define ATIM_ISR_IERRF_Msk                (0x400000UL)              /*!< IERRF (Bitfield-Mask: 0x01)                           */
#define ATIM_ISR_DIRF_Pos                 (21UL)                    /*!< DIRF (Bit 21)                                         */
#define ATIM_ISR_DIRF_Msk                 (0x200000UL)              /*!< DIRF (Bitfield-Mask: 0x01)                            */
#define ATIM_ISR_IDXF_Pos                 (20UL)                    /*!< IDXF (Bit 20)                                         */
#define ATIM_ISR_IDXF_Msk                 (0x100000UL)              /*!< IDXF (Bitfield-Mask: 0x01)                            */
#define ATIM_ISR_CC6OF_Pos                (19UL)                    /*!< CC6OF (Bit 19)                                        */
#define ATIM_ISR_CC6OF_Msk                (0x80000UL)               /*!< CC6OF (Bitfield-Mask: 0x01)                           */
#define ATIM_ISR_CC5OF_Pos                (18UL)                    /*!< CC5OF (Bit 18)                                        */
#define ATIM_ISR_CC5OF_Msk                (0x40000UL)               /*!< CC5OF (Bitfield-Mask: 0x01)                           */
#define ATIM_ISR_CC6IF_Pos                (17UL)                    /*!< CC6IF (Bit 17)                                        */
#define ATIM_ISR_CC6IF_Msk                (0x20000UL)               /*!< CC6IF (Bitfield-Mask: 0x01)                           */
#define ATIM_ISR_CC5IF_Pos                (16UL)                    /*!< CC5IF (Bit 16)                                        */
#define ATIM_ISR_CC5IF_Msk                (0x10000UL)               /*!< CC5IF (Bitfield-Mask: 0x01)                           */
#define ATIM_ISR_SBIF_Pos                 (13UL)                    /*!< SBIF (Bit 13)                                         */
#define ATIM_ISR_SBIF_Msk                 (0x2000UL)                /*!< SBIF (Bitfield-Mask: 0x01)                            */
#define ATIM_ISR_CC4OF_Pos                (12UL)                    /*!< CC4OF (Bit 12)                                        */
#define ATIM_ISR_CC4OF_Msk                (0x1000UL)                /*!< CC4OF (Bitfield-Mask: 0x01)                           */
#define ATIM_ISR_CC3OF_Pos                (11UL)                    /*!< CC3OF (Bit 11)                                        */
#define ATIM_ISR_CC3OF_Msk                (0x800UL)                 /*!< CC3OF (Bitfield-Mask: 0x01)                           */
#define ATIM_ISR_CC2OF_Pos                (10UL)                    /*!< CC2OF (Bit 10)                                        */
#define ATIM_ISR_CC2OF_Msk                (0x400UL)                 /*!< CC2OF (Bitfield-Mask: 0x01)                           */
#define ATIM_ISR_CC1OF_Pos                (9UL)                     /*!< CC1OF (Bit 9)                                         */
#define ATIM_ISR_CC1OF_Msk                (0x200UL)                 /*!< CC1OF (Bitfield-Mask: 0x01)                           */
#define ATIM_ISR_B2IF_Pos                 (8UL)                     /*!< B2IF (Bit 8)                                          */
#define ATIM_ISR_B2IF_Msk                 (0x100UL)                 /*!< B2IF (Bitfield-Mask: 0x01)                            */
#define ATIM_ISR_BIF_Pos                  (7UL)                     /*!< BIF (Bit 7)                                           */
#define ATIM_ISR_BIF_Msk                  (0x80UL)                  /*!< BIF (Bitfield-Mask: 0x01)                             */
#define ATIM_ISR_TIF_Pos                  (6UL)                     /*!< TIF (Bit 6)                                           */
#define ATIM_ISR_TIF_Msk                  (0x40UL)                  /*!< TIF (Bitfield-Mask: 0x01)                             */
#define ATIM_ISR_COMIF_Pos                (5UL)                     /*!< COMIF (Bit 5)                                         */
#define ATIM_ISR_COMIF_Msk                (0x20UL)                  /*!< COMIF (Bitfield-Mask: 0x01)                           */
#define ATIM_ISR_CC4IF_Pos                (4UL)                     /*!< CC4IF (Bit 4)                                         */
#define ATIM_ISR_CC4IF_Msk                (0x10UL)                  /*!< CC4IF (Bitfield-Mask: 0x01)                           */
#define ATIM_ISR_CC3IF_Pos                (3UL)                     /*!< CC3IF (Bit 3)                                         */
#define ATIM_ISR_CC3IF_Msk                (0x8UL)                   /*!< CC3IF (Bitfield-Mask: 0x01)                           */
#define ATIM_ISR_CC2IF_Pos                (2UL)                     /*!< CC2IF (Bit 2)                                         */
#define ATIM_ISR_CC2IF_Msk                (0x4UL)                   /*!< CC2IF (Bitfield-Mask: 0x01)                           */
#define ATIM_ISR_CC1IF_Pos                (1UL)                     /*!< CC1IF (Bit 1)                                         */
#define ATIM_ISR_CC1IF_Msk                (0x2UL)                   /*!< CC1IF (Bitfield-Mask: 0x01)                           */
#define ATIM_ISR_UIF_Pos                  (0UL)                     /*!< UIF (Bit 0)                                           */
#define ATIM_ISR_UIF_Msk                  (0x1UL)                   /*!< UIF (Bitfield-Mask: 0x01)                             */
/* ==========================================================  EGR  ========================================================== */
#define ATIM_EGR_CC6G_Pos                 (17UL)                    /*!< CC6G (Bit 17)                                         */
#define ATIM_EGR_CC6G_Msk                 (0x20000UL)               /*!< CC6G (Bitfield-Mask: 0x01)                            */
#define ATIM_EGR_CC5G_Pos                 (16UL)                    /*!< CC5G (Bit 16)                                         */
#define ATIM_EGR_CC5G_Msk                 (0x10000UL)               /*!< CC5G (Bitfield-Mask: 0x01)                            */
#define ATIM_EGR_B2G_Pos                  (8UL)                     /*!< B2G (Bit 8)                                           */
#define ATIM_EGR_B2G_Msk                  (0x100UL)                 /*!< B2G (Bitfield-Mask: 0x01)                             */
#define ATIM_EGR_BG_Pos                   (7UL)                     /*!< BG (Bit 7)                                            */
#define ATIM_EGR_BG_Msk                   (0x80UL)                  /*!< BG (Bitfield-Mask: 0x01)                              */
#define ATIM_EGR_TG_Pos                   (6UL)                     /*!< TG (Bit 6)                                            */
#define ATIM_EGR_TG_Msk                   (0x40UL)                  /*!< TG (Bitfield-Mask: 0x01)                              */
#define ATIM_EGR_COMG_Pos                 (5UL)                     /*!< COMG (Bit 5)                                          */
#define ATIM_EGR_COMG_Msk                 (0x20UL)                  /*!< COMG (Bitfield-Mask: 0x01)                            */
#define ATIM_EGR_CC4G_Pos                 (4UL)                     /*!< CC4G (Bit 4)                                          */
#define ATIM_EGR_CC4G_Msk                 (0x10UL)                  /*!< CC4G (Bitfield-Mask: 0x01)                            */
#define ATIM_EGR_CC3G_Pos                 (3UL)                     /*!< CC3G (Bit 3)                                          */
#define ATIM_EGR_CC3G_Msk                 (0x8UL)                   /*!< CC3G (Bitfield-Mask: 0x01)                            */
#define ATIM_EGR_CC2G_Pos                 (2UL)                     /*!< CC2G (Bit 2)                                          */
#define ATIM_EGR_CC2G_Msk                 (0x4UL)                   /*!< CC2G (Bitfield-Mask: 0x01)                            */
#define ATIM_EGR_CC1G_Pos                 (1UL)                     /*!< CC1G (Bit 1)                                          */
#define ATIM_EGR_CC1G_Msk                 (0x2UL)                   /*!< CC1G (Bitfield-Mask: 0x01)                            */
#define ATIM_EGR_UG_Pos                   (0UL)                     /*!< UG (Bit 0)                                            */
#define ATIM_EGR_UG_Msk                   (0x1UL)                   /*!< UG (Bitfield-Mask: 0x01)                              */
/* =======================================================  CCMR1CAP  ======================================================== */
#define ATIM_CCMR1CAP_IC2F_Pos            (12UL)                    /*!< IC2F (Bit 12)                                         */
#define ATIM_CCMR1CAP_IC2F_Msk            (0xf000UL)                /*!< IC2F (Bitfield-Mask: 0x0f)                            */
#define ATIM_CCMR1CAP_IC2PSC_Pos          (10UL)                    /*!< IC2PSC (Bit 10)                                       */
#define ATIM_CCMR1CAP_IC2PSC_Msk          (0xc00UL)                 /*!< IC2PSC (Bitfield-Mask: 0x03)                          */
#define ATIM_CCMR1CAP_CC2S_Pos            (8UL)                     /*!< CC2S (Bit 8)                                          */
#define ATIM_CCMR1CAP_CC2S_Msk            (0x300UL)                 /*!< CC2S (Bitfield-Mask: 0x03)                            */
#define ATIM_CCMR1CAP_IC1F_Pos            (4UL)                     /*!< IC1F (Bit 4)                                          */
#define ATIM_CCMR1CAP_IC1F_Msk            (0xf0UL)                  /*!< IC1F (Bitfield-Mask: 0x0f)                            */
#define ATIM_CCMR1CAP_IC1PSC_Pos          (2UL)                     /*!< IC1PSC (Bit 2)                                        */
#define ATIM_CCMR1CAP_IC1PSC_Msk          (0xcUL)                   /*!< IC1PSC (Bitfield-Mask: 0x03)                          */
#define ATIM_CCMR1CAP_CC1S_Pos            (0UL)                     /*!< CC1S (Bit 0)                                          */
#define ATIM_CCMR1CAP_CC1S_Msk            (0x3UL)                   /*!< CC1S (Bitfield-Mask: 0x03)                            */
/* =======================================================  CCMR1CMP  ======================================================== */
#define ATIM_CCMR1CMP_OC2MH_Pos           (24UL)                    /*!< OC2MH (Bit 24)                                        */
#define ATIM_CCMR1CMP_OC2MH_Msk           (0x1000000UL)             /*!< OC2MH (Bitfield-Mask: 0x01)                           */
#define ATIM_CCMR1CMP_OC1MH_Pos           (16UL)                    /*!< OC1MH (Bit 16)                                        */
#define ATIM_CCMR1CMP_OC1MH_Msk           (0x10000UL)               /*!< OC1MH (Bitfield-Mask: 0x01)                           */
#define ATIM_CCMR1CMP_OC2CE_Pos           (15UL)                    /*!< OC2CE (Bit 15)                                        */
#define ATIM_CCMR1CMP_OC2CE_Msk           (0x8000UL)                /*!< OC2CE (Bitfield-Mask: 0x01)                           */
#define ATIM_CCMR1CMP_OC2M_Pos            (12UL)                    /*!< OC2M (Bit 12)                                         */
#define ATIM_CCMR1CMP_OC2M_Msk            (0x7000UL)                /*!< OC2M (Bitfield-Mask: 0x07)                            */
#define ATIM_CCMR1CMP_OC2PE_Pos           (11UL)                    /*!< OC2PE (Bit 11)                                        */
#define ATIM_CCMR1CMP_OC2PE_Msk           (0x800UL)                 /*!< OC2PE (Bitfield-Mask: 0x01)                           */
#define ATIM_CCMR1CMP_OC2FE_Pos           (10UL)                    /*!< OC2FE (Bit 10)                                        */
#define ATIM_CCMR1CMP_OC2FE_Msk           (0x400UL)                 /*!< OC2FE (Bitfield-Mask: 0x01)                           */
#define ATIM_CCMR1CMP_CC2S_Pos            (8UL)                     /*!< CC2S (Bit 8)                                          */
#define ATIM_CCMR1CMP_CC2S_Msk            (0x300UL)                 /*!< CC2S (Bitfield-Mask: 0x03)                            */
#define ATIM_CCMR1CMP_OC1CE_Pos           (7UL)                     /*!< OC1CE (Bit 7)                                         */
#define ATIM_CCMR1CMP_OC1CE_Msk           (0x80UL)                  /*!< OC1CE (Bitfield-Mask: 0x01)                           */
#define ATIM_CCMR1CMP_OC1M_Pos            (4UL)                     /*!< OC1M (Bit 4)                                          */
#define ATIM_CCMR1CMP_OC1M_Msk            (0x70UL)                  /*!< OC1M (Bitfield-Mask: 0x07)                            */
#define ATIM_CCMR1CMP_OC1PE_Pos           (3UL)                     /*!< OC1PE (Bit 3)                                         */
#define ATIM_CCMR1CMP_OC1PE_Msk           (0x8UL)                   /*!< OC1PE (Bitfield-Mask: 0x01)                           */
#define ATIM_CCMR1CMP_OC1FE_Pos           (2UL)                     /*!< OC1FE (Bit 2)                                         */
#define ATIM_CCMR1CMP_OC1FE_Msk           (0x4UL)                   /*!< OC1FE (Bitfield-Mask: 0x01)                           */
#define ATIM_CCMR1CMP_CC1S_Pos            (0UL)                     /*!< CC1S (Bit 0)                                          */
#define ATIM_CCMR1CMP_CC1S_Msk            (0x3UL)                   /*!< CC1S (Bitfield-Mask: 0x03)                            */
/* =======================================================  CCMR2CAP  ======================================================== */
#define ATIM_CCMR2CAP_IC4F_Pos            (12UL)                    /*!< IC4F (Bit 12)                                         */
#define ATIM_CCMR2CAP_IC4F_Msk            (0xf000UL)                /*!< IC4F (Bitfield-Mask: 0x0f)                            */
#define ATIM_CCMR2CAP_IC4PSC_Pos          (10UL)                    /*!< IC4PSC (Bit 10)                                       */
#define ATIM_CCMR2CAP_IC4PSC_Msk          (0xc00UL)                 /*!< IC4PSC (Bitfield-Mask: 0x03)                          */
#define ATIM_CCMR2CAP_CC4S_Pos            (8UL)                     /*!< CC4S (Bit 8)                                          */
#define ATIM_CCMR2CAP_CC4S_Msk            (0x300UL)                 /*!< CC4S (Bitfield-Mask: 0x03)                            */
#define ATIM_CCMR2CAP_IC3F_Pos            (4UL)                     /*!< IC3F (Bit 4)                                          */
#define ATIM_CCMR2CAP_IC3F_Msk            (0xf0UL)                  /*!< IC3F (Bitfield-Mask: 0x0f)                            */
#define ATIM_CCMR2CAP_IC3PSC_Pos          (2UL)                     /*!< IC3PSC (Bit 2)                                        */
#define ATIM_CCMR2CAP_IC3PSC_Msk          (0xcUL)                   /*!< IC3PSC (Bitfield-Mask: 0x03)                          */
#define ATIM_CCMR2CAP_CC3S_Pos            (0UL)                     /*!< CC3S (Bit 0)                                          */
#define ATIM_CCMR2CAP_CC3S_Msk            (0x3UL)                   /*!< CC3S (Bitfield-Mask: 0x03)                            */
/* =======================================================  CCMR2CMP  ======================================================== */
#define ATIM_CCMR2CMP_OC4MH_Pos           (24UL)                    /*!< OC4MH (Bit 24)                                        */
#define ATIM_CCMR2CMP_OC4MH_Msk           (0x1000000UL)             /*!< OC4MH (Bitfield-Mask: 0x01)                           */
#define ATIM_CCMR2CMP_OC3MH_Pos           (16UL)                    /*!< OC3MH (Bit 16)                                        */
#define ATIM_CCMR2CMP_OC3MH_Msk           (0x10000UL)               /*!< OC3MH (Bitfield-Mask: 0x01)                           */
#define ATIM_CCMR2CMP_OC4CE_Pos           (15UL)                    /*!< OC4CE (Bit 15)                                        */
#define ATIM_CCMR2CMP_OC4CE_Msk           (0x8000UL)                /*!< OC4CE (Bitfield-Mask: 0x01)                           */
#define ATIM_CCMR2CMP_OC4M_Pos            (12UL)                    /*!< OC4M (Bit 12)                                         */
#define ATIM_CCMR2CMP_OC4M_Msk            (0x7000UL)                /*!< OC4M (Bitfield-Mask: 0x07)                            */
#define ATIM_CCMR2CMP_OC4PE_Pos           (11UL)                    /*!< OC4PE (Bit 11)                                        */
#define ATIM_CCMR2CMP_OC4PE_Msk           (0x800UL)                 /*!< OC4PE (Bitfield-Mask: 0x01)                           */
#define ATIM_CCMR2CMP_OC4FE_Pos           (10UL)                    /*!< OC4FE (Bit 10)                                        */
#define ATIM_CCMR2CMP_OC4FE_Msk           (0x400UL)                 /*!< OC4FE (Bitfield-Mask: 0x01)                           */
#define ATIM_CCMR2CMP_CC4S_Pos            (8UL)                     /*!< CC4S (Bit 8)                                          */
#define ATIM_CCMR2CMP_CC4S_Msk            (0x300UL)                 /*!< CC4S (Bitfield-Mask: 0x03)                            */
#define ATIM_CCMR2CMP_OC3CE_Pos           (7UL)                     /*!< OC3CE (Bit 7)                                         */
#define ATIM_CCMR2CMP_OC3CE_Msk           (0x80UL)                  /*!< OC3CE (Bitfield-Mask: 0x01)                           */
#define ATIM_CCMR2CMP_OC3M_Pos            (4UL)                     /*!< OC3M (Bit 4)                                          */
#define ATIM_CCMR2CMP_OC3M_Msk            (0x70UL)                  /*!< OC3M (Bitfield-Mask: 0x07)                            */
#define ATIM_CCMR2CMP_OC3PE_Pos           (3UL)                     /*!< OC3PE (Bit 3)                                         */
#define ATIM_CCMR2CMP_OC3PE_Msk           (0x8UL)                   /*!< OC3PE (Bitfield-Mask: 0x01)                           */
#define ATIM_CCMR2CMP_OC3FE_Pos           (2UL)                     /*!< OC3FE (Bit 2)                                         */
#define ATIM_CCMR2CMP_OC3FE_Msk           (0x4UL)                   /*!< OC3FE (Bitfield-Mask: 0x01)                           */
#define ATIM_CCMR2CMP_CC3S_Pos            (0UL)                     /*!< CC3S (Bit 0)                                          */
#define ATIM_CCMR2CMP_CC3S_Msk            (0x3UL)                   /*!< CC3S (Bitfield-Mask: 0x03)                            */
/* =======================================================  CCMR3CAP  ======================================================== */
#define ATIM_CCMR3CAP_IC6F_Pos            (12UL)                    /*!< IC6F (Bit 12)                                         */
#define ATIM_CCMR3CAP_IC6F_Msk            (0xf000UL)                /*!< IC6F (Bitfield-Mask: 0x0f)                            */
#define ATIM_CCMR3CAP_IC6PSC_Pos          (10UL)                    /*!< IC6PSC (Bit 10)                                       */
#define ATIM_CCMR3CAP_IC6PSC_Msk          (0xc00UL)                 /*!< IC6PSC (Bitfield-Mask: 0x03)                          */
#define ATIM_CCMR3CAP_CC6S_Pos            (8UL)                     /*!< CC6S (Bit 8)                                          */
#define ATIM_CCMR3CAP_CC6S_Msk            (0x300UL)                 /*!< CC6S (Bitfield-Mask: 0x03)                            */
#define ATIM_CCMR3CAP_IC5F_Pos            (4UL)                     /*!< IC5F (Bit 4)                                          */
#define ATIM_CCMR3CAP_IC5F_Msk            (0xf0UL)                  /*!< IC5F (Bitfield-Mask: 0x0f)                            */
#define ATIM_CCMR3CAP_IC5PSC_Pos          (2UL)                     /*!< IC5PSC (Bit 2)                                        */
#define ATIM_CCMR3CAP_IC5PSC_Msk          (0xcUL)                   /*!< IC5PSC (Bitfield-Mask: 0x03)                          */
#define ATIM_CCMR3CAP_CC5S_Pos            (0UL)                     /*!< CC5S (Bit 0)                                          */
#define ATIM_CCMR3CAP_CC5S_Msk            (0x3UL)                   /*!< CC5S (Bitfield-Mask: 0x03)                            */
/* =======================================================  CCMR3CMP  ======================================================== */
#define ATIM_CCMR3CMP_OC6MH_Pos           (24UL)                    /*!< OC6MH (Bit 24)                                        */
#define ATIM_CCMR3CMP_OC6MH_Msk           (0x1000000UL)             /*!< OC6MH (Bitfield-Mask: 0x01)                           */
#define ATIM_CCMR3CMP_OC5MH_Pos           (16UL)                    /*!< OC5MH (Bit 16)                                        */
#define ATIM_CCMR3CMP_OC5MH_Msk           (0x10000UL)               /*!< OC5MH (Bitfield-Mask: 0x01)                           */
#define ATIM_CCMR3CMP_OC6CE_Pos           (15UL)                    /*!< OC6CE (Bit 15)                                        */
#define ATIM_CCMR3CMP_OC6CE_Msk           (0x8000UL)                /*!< OC6CE (Bitfield-Mask: 0x01)                           */
#define ATIM_CCMR3CMP_OC6M_Pos            (12UL)                    /*!< OC6M (Bit 12)                                         */
#define ATIM_CCMR3CMP_OC6M_Msk            (0x7000UL)                /*!< OC6M (Bitfield-Mask: 0x07)                            */
#define ATIM_CCMR3CMP_OC6PE_Pos           (11UL)                    /*!< OC6PE (Bit 11)                                        */
#define ATIM_CCMR3CMP_OC6PE_Msk           (0x800UL)                 /*!< OC6PE (Bitfield-Mask: 0x01)                           */
#define ATIM_CCMR3CMP_OC6FE_Pos           (10UL)                    /*!< OC6FE (Bit 10)                                        */
#define ATIM_CCMR3CMP_OC6FE_Msk           (0x400UL)                 /*!< OC6FE (Bitfield-Mask: 0x01)                           */
#define ATIM_CCMR3CMP_CC6S_Pos            (8UL)                     /*!< CC6S (Bit 8)                                          */
#define ATIM_CCMR3CMP_CC6S_Msk            (0x300UL)                 /*!< CC6S (Bitfield-Mask: 0x03)                            */
#define ATIM_CCMR3CMP_OC5CE_Pos           (7UL)                     /*!< OC5CE (Bit 7)                                         */
#define ATIM_CCMR3CMP_OC5CE_Msk           (0x80UL)                  /*!< OC5CE (Bitfield-Mask: 0x01)                           */
#define ATIM_CCMR3CMP_OC5M_Pos            (4UL)                     /*!< OC5M (Bit 4)                                          */
#define ATIM_CCMR3CMP_OC5M_Msk            (0x70UL)                  /*!< OC5M (Bitfield-Mask: 0x07)                            */
#define ATIM_CCMR3CMP_OC5PE_Pos           (3UL)                     /*!< OC5PE (Bit 3)                                         */
#define ATIM_CCMR3CMP_OC5PE_Msk           (0x8UL)                   /*!< OC5PE (Bitfield-Mask: 0x01)                           */
#define ATIM_CCMR3CMP_OC5FE_Pos           (2UL)                     /*!< OC5FE (Bit 2)                                         */
#define ATIM_CCMR3CMP_OC5FE_Msk           (0x4UL)                   /*!< OC5FE (Bitfield-Mask: 0x01)                           */
#define ATIM_CCMR3CMP_CC5S_Pos            (0UL)                     /*!< CC5S (Bit 0)                                          */
#define ATIM_CCMR3CMP_CC5S_Msk            (0x3UL)                   /*!< CC5S (Bitfield-Mask: 0x03)                            */
/* =========================================================  CCER  ========================================================== */
#define ATIM_CCER_CC6NP_Pos               (23UL)                    /*!< CC6NP (Bit 23)                                        */
#define ATIM_CCER_CC6NP_Msk               (0x800000UL)              /*!< CC6NP (Bitfield-Mask: 0x01)                           */
#define ATIM_CCER_CC6NE_Pos               (22UL)                    /*!< CC6NE (Bit 22)                                        */
#define ATIM_CCER_CC6NE_Msk               (0x400000UL)              /*!< CC6NE (Bitfield-Mask: 0x01)                           */
#define ATIM_CCER_CC6P_Pos                (21UL)                    /*!< CC6P (Bit 21)                                         */
#define ATIM_CCER_CC6P_Msk                (0x200000UL)              /*!< CC6P (Bitfield-Mask: 0x01)                            */
#define ATIM_CCER_CC6E_Pos                (20UL)                    /*!< CC6E (Bit 20)                                         */
#define ATIM_CCER_CC6E_Msk                (0x100000UL)              /*!< CC6E (Bitfield-Mask: 0x01)                            */
#define ATIM_CCER_CC5NP_Pos               (19UL)                    /*!< CC5NP (Bit 19)                                        */
#define ATIM_CCER_CC5NP_Msk               (0x80000UL)               /*!< CC5NP (Bitfield-Mask: 0x01)                           */
#define ATIM_CCER_CC5NE_Pos               (18UL)                    /*!< CC5NE (Bit 18)                                        */
#define ATIM_CCER_CC5NE_Msk               (0x40000UL)               /*!< CC5NE (Bitfield-Mask: 0x01)                           */
#define ATIM_CCER_CC5P_Pos                (17UL)                    /*!< CC5P (Bit 17)                                         */
#define ATIM_CCER_CC5P_Msk                (0x20000UL)               /*!< CC5P (Bitfield-Mask: 0x01)                            */
#define ATIM_CCER_CC5E_Pos                (16UL)                    /*!< CC5E (Bit 16)                                         */
#define ATIM_CCER_CC5E_Msk                (0x10000UL)               /*!< CC5E (Bitfield-Mask: 0x01)                            */
#define ATIM_CCER_CC4NP_Pos               (15UL)                    /*!< CC4NP (Bit 15)                                        */
#define ATIM_CCER_CC4NP_Msk               (0x8000UL)                /*!< CC4NP (Bitfield-Mask: 0x01)                           */
#define ATIM_CCER_CC4NE_Pos               (14UL)                    /*!< CC4NE (Bit 14)                                        */
#define ATIM_CCER_CC4NE_Msk               (0x4000UL)                /*!< CC4NE (Bitfield-Mask: 0x01)                           */
#define ATIM_CCER_CC4P_Pos                (13UL)                    /*!< CC4P (Bit 13)                                         */
#define ATIM_CCER_CC4P_Msk                (0x2000UL)                /*!< CC4P (Bitfield-Mask: 0x01)                            */
#define ATIM_CCER_CC4E_Pos                (12UL)                    /*!< CC4E (Bit 12)                                         */
#define ATIM_CCER_CC4E_Msk                (0x1000UL)                /*!< CC4E (Bitfield-Mask: 0x01)                            */
#define ATIM_CCER_CC3NP_Pos               (11UL)                    /*!< CC3NP (Bit 11)                                        */
#define ATIM_CCER_CC3NP_Msk               (0x800UL)                 /*!< CC3NP (Bitfield-Mask: 0x01)                           */
#define ATIM_CCER_CC3NE_Pos               (10UL)                    /*!< CC3NE (Bit 10)                                        */
#define ATIM_CCER_CC3NE_Msk               (0x400UL)                 /*!< CC3NE (Bitfield-Mask: 0x01)                           */
#define ATIM_CCER_CC3P_Pos                (9UL)                     /*!< CC3P (Bit 9)                                          */
#define ATIM_CCER_CC3P_Msk                (0x200UL)                 /*!< CC3P (Bitfield-Mask: 0x01)                            */
#define ATIM_CCER_CC3E_Pos                (8UL)                     /*!< CC3E (Bit 8)                                          */
#define ATIM_CCER_CC3E_Msk                (0x100UL)                 /*!< CC3E (Bitfield-Mask: 0x01)                            */
#define ATIM_CCER_CC2NP_Pos               (7UL)                     /*!< CC2NP (Bit 7)                                         */
#define ATIM_CCER_CC2NP_Msk               (0x80UL)                  /*!< CC2NP (Bitfield-Mask: 0x01)                           */
#define ATIM_CCER_CC2NE_Pos               (6UL)                     /*!< CC2NE (Bit 6)                                         */
#define ATIM_CCER_CC2NE_Msk               (0x40UL)                  /*!< CC2NE (Bitfield-Mask: 0x01)                           */
#define ATIM_CCER_CC2P_Pos                (5UL)                     /*!< CC2P (Bit 5)                                          */
#define ATIM_CCER_CC2P_Msk                (0x20UL)                  /*!< CC2P (Bitfield-Mask: 0x01)                            */
#define ATIM_CCER_CC2E_Pos                (4UL)                     /*!< CC2E (Bit 4)                                          */
#define ATIM_CCER_CC2E_Msk                (0x10UL)                  /*!< CC2E (Bitfield-Mask: 0x01)                            */
#define ATIM_CCER_CC1NP_Pos               (3UL)                     /*!< CC1NP (Bit 3)                                         */
#define ATIM_CCER_CC1NP_Msk               (0x8UL)                   /*!< CC1NP (Bitfield-Mask: 0x01)                           */
#define ATIM_CCER_CC1NE_Pos               (2UL)                     /*!< CC1NE (Bit 2)                                         */
#define ATIM_CCER_CC1NE_Msk               (0x4UL)                   /*!< CC1NE (Bitfield-Mask: 0x01)                           */
#define ATIM_CCER_CC1P_Pos                (1UL)                     /*!< CC1P (Bit 1)                                          */
#define ATIM_CCER_CC1P_Msk                (0x2UL)                   /*!< CC1P (Bitfield-Mask: 0x01)                            */
#define ATIM_CCER_CC1E_Pos                (0UL)                     /*!< CC1E (Bit 0)                                          */
#define ATIM_CCER_CC1E_Msk                (0x1UL)                   /*!< CC1E (Bitfield-Mask: 0x01)                            */
/* ==========================================================  CNT  ========================================================== */
#define ATIM_CNT_UIFCPY_Pos               (31UL)                    /*!< UIFCPY (Bit 31)                                       */
#define ATIM_CNT_UIFCPY_Msk               (0x80000000UL)            /*!< UIFCPY (Bitfield-Mask: 0x01)                          */
#define ATIM_CNT_CNT_Pos                  (0UL)                     /*!< CNT (Bit 0)                                           */
#define ATIM_CNT_CNT_Msk                  (0xffffUL)                /*!< CNT (Bitfield-Mask: 0xffff)                           */
/* ==========================================================  PSC  ========================================================== */
#define ATIM_PSC_PSC_Pos                  (0UL)                     /*!< PSC (Bit 0)                                           */
#define ATIM_PSC_PSC_Msk                  (0xffffUL)                /*!< PSC (Bitfield-Mask: 0xffff)                           */
/* ==========================================================  ARR  ========================================================== */
#define ATIM_ARR_ARR_Pos                  (0UL)                     /*!< ARR (Bit 0)                                           */
#define ATIM_ARR_ARR_Msk                  (0xffffUL)                /*!< ARR (Bitfield-Mask: 0xffff)                           */
/* ==========================================================  RCR  ========================================================== */
#define ATIM_RCR_REP_Pos                  (0UL)                     /*!< REP (Bit 0)                                           */
#define ATIM_RCR_REP_Msk                  (0xffffUL)                /*!< REP (Bitfield-Mask: 0xffff)                           */
/* =========================================================  CCR1  ========================================================== */
#define ATIM_CCR1_CCR1_Pos                (0UL)                     /*!< CCR1 (Bit 0)                                          */
#define ATIM_CCR1_CCR1_Msk                (0xffffUL)                /*!< CCR1 (Bitfield-Mask: 0xffff)                          */
/* =========================================================  CCR2  ========================================================== */
#define ATIM_CCR2_CCR2_Pos                (0UL)                     /*!< CCR2 (Bit 0)                                          */
#define ATIM_CCR2_CCR2_Msk                (0xffffUL)                /*!< CCR2 (Bitfield-Mask: 0xffff)                          */
/* =========================================================  CCR3  ========================================================== */
#define ATIM_CCR3_CCR3_Pos                (0UL)                     /*!< CCR3 (Bit 0)                                          */
#define ATIM_CCR3_CCR3_Msk                (0xffffUL)                /*!< CCR3 (Bitfield-Mask: 0xffff)                          */
/* =========================================================  CCR4  ========================================================== */
#define ATIM_CCR4_CCR4_Pos                (0UL)                     /*!< CCR4 (Bit 0)                                          */
#define ATIM_CCR4_CCR4_Msk                (0xffffUL)                /*!< CCR4 (Bitfield-Mask: 0xffff)                          */
/* =========================================================  CCR5  ========================================================== */
#define ATIM_CCR5_GC5C6_Pos               (31UL)                    /*!< GC5C6 (Bit 31)                                        */
#define ATIM_CCR5_GC5C6_Msk               (0x80000000UL)            /*!< GC5C6 (Bitfield-Mask: 0x01)                           */
#define ATIM_CCR5_GC5C5_Pos               (30UL)                    /*!< GC5C5 (Bit 30)                                        */
#define ATIM_CCR5_GC5C5_Msk               (0x40000000UL)            /*!< GC5C5 (Bitfield-Mask: 0x01)                           */
#define ATIM_CCR5_GC5C4_Pos               (29UL)                    /*!< GC5C4 (Bit 29)                                        */
#define ATIM_CCR5_GC5C4_Msk               (0x20000000UL)            /*!< GC5C4 (Bitfield-Mask: 0x01)                           */
#define ATIM_CCR5_GC5C3_Pos               (28UL)                    /*!< GC5C3 (Bit 28)                                        */
#define ATIM_CCR5_GC5C3_Msk               (0x10000000UL)            /*!< GC5C3 (Bitfield-Mask: 0x01)                           */
#define ATIM_CCR5_GC5C2_Pos               (27UL)                    /*!< GC5C2 (Bit 27)                                        */
#define ATIM_CCR5_GC5C2_Msk               (0x8000000UL)             /*!< GC5C2 (Bitfield-Mask: 0x01)                           */
#define ATIM_CCR5_GC5C1_Pos               (26UL)                    /*!< GC5C1 (Bit 26)                                        */
#define ATIM_CCR5_GC5C1_Msk               (0x4000000UL)             /*!< GC5C1 (Bitfield-Mask: 0x01)                           */
#define ATIM_CCR5_CCR5_Pos                (0UL)                     /*!< CCR5 (Bit 0)                                          */
#define ATIM_CCR5_CCR5_Msk                (0xffffUL)                /*!< CCR5 (Bitfield-Mask: 0xffff)                          */
/* =========================================================  CCR6  ========================================================== */
#define ATIM_CCR6_GC6C6_Pos               (31UL)                    /*!< GC6C6 (Bit 31)                                        */
#define ATIM_CCR6_GC6C6_Msk               (0x80000000UL)            /*!< GC6C6 (Bitfield-Mask: 0x01)                           */
#define ATIM_CCR6_GC6C5_Pos               (30UL)                    /*!< GC6C5 (Bit 30)                                        */
#define ATIM_CCR6_GC6C5_Msk               (0x40000000UL)            /*!< GC6C5 (Bitfield-Mask: 0x01)                           */
#define ATIM_CCR6_GC6C4_Pos               (29UL)                    /*!< GC6C4 (Bit 29)                                        */
#define ATIM_CCR6_GC6C4_Msk               (0x20000000UL)            /*!< GC6C4 (Bitfield-Mask: 0x01)                           */
#define ATIM_CCR6_GC6C3_Pos               (28UL)                    /*!< GC6C3 (Bit 28)                                        */
#define ATIM_CCR6_GC6C3_Msk               (0x10000000UL)            /*!< GC6C3 (Bitfield-Mask: 0x01)                           */
#define ATIM_CCR6_GC6C2_Pos               (27UL)                    /*!< GC6C2 (Bit 27)                                        */
#define ATIM_CCR6_GC6C2_Msk               (0x8000000UL)             /*!< GC6C2 (Bitfield-Mask: 0x01)                           */
#define ATIM_CCR6_GC6C1_Pos               (26UL)                    /*!< GC6C1 (Bit 26)                                        */
#define ATIM_CCR6_GC6C1_Msk               (0x4000000UL)             /*!< GC6C1 (Bitfield-Mask: 0x01)                           */
#define ATIM_CCR6_CCR6_Pos                (0UL)                     /*!< CCR6 (Bit 0)                                          */
#define ATIM_CCR6_CCR6_Msk                (0xffffUL)                /*!< CCR6 (Bitfield-Mask: 0xffff)                          */
/* =========================================================  BDTR  ========================================================== */
#define ATIM_BDTR_BK2P_Pos                (25UL)                    /*!< BK2P (Bit 25)                                         */
#define ATIM_BDTR_BK2P_Msk                (0x2000000UL)             /*!< BK2P (Bitfield-Mask: 0x01)                            */
#define ATIM_BDTR_BK2E_Pos                (24UL)                    /*!< BK2E (Bit 24)                                         */
#define ATIM_BDTR_BK2E_Msk                (0x1000000UL)             /*!< BK2E (Bitfield-Mask: 0x01)                            */
#define ATIM_BDTR_BK2F_Pos                (20UL)                    /*!< BK2F (Bit 20)                                         */
#define ATIM_BDTR_BK2F_Msk                (0xf00000UL)              /*!< BK2F (Bitfield-Mask: 0x0f)                            */
#define ATIM_BDTR_BKF_Pos                 (16UL)                    /*!< BKF (Bit 16)                                          */
#define ATIM_BDTR_BKF_Msk                 (0xf0000UL)               /*!< BKF (Bitfield-Mask: 0x0f)                             */
#define ATIM_BDTR_MOE_Pos                 (15UL)                    /*!< MOE (Bit 15)                                          */
#define ATIM_BDTR_MOE_Msk                 (0x8000UL)                /*!< MOE (Bitfield-Mask: 0x01)                             */
#define ATIM_BDTR_AOE_Pos                 (14UL)                    /*!< AOE (Bit 14)                                          */
#define ATIM_BDTR_AOE_Msk                 (0x4000UL)                /*!< AOE (Bitfield-Mask: 0x01)                             */
#define ATIM_BDTR_BKP_Pos                 (13UL)                    /*!< BKP (Bit 13)                                          */
#define ATIM_BDTR_BKP_Msk                 (0x2000UL)                /*!< BKP (Bitfield-Mask: 0x01)                             */
#define ATIM_BDTR_BKE_Pos                 (12UL)                    /*!< BKE (Bit 12)                                          */
#define ATIM_BDTR_BKE_Msk                 (0x1000UL)                /*!< BKE (Bitfield-Mask: 0x01)                             */
#define ATIM_BDTR_OSSR_Pos                (11UL)                    /*!< OSSR (Bit 11)                                         */
#define ATIM_BDTR_OSSR_Msk                (0x800UL)                 /*!< OSSR (Bitfield-Mask: 0x01)                            */
#define ATIM_BDTR_OSSI_Pos                (10UL)                    /*!< OSSI (Bit 10)                                         */
#define ATIM_BDTR_OSSI_Msk                (0x400UL)                 /*!< OSSI (Bitfield-Mask: 0x01)                            */
#define ATIM_BDTR_LOCK_Pos                (8UL)                     /*!< LOCK (Bit 8)                                          */
#define ATIM_BDTR_LOCK_Msk                (0x300UL)                 /*!< LOCK (Bitfield-Mask: 0x03)                            */
#define ATIM_BDTR_DTG_Pos                 (0UL)                     /*!< DTG (Bit 0)                                           */
#define ATIM_BDTR_DTG_Msk                 (0xffUL)                  /*!< DTG (Bitfield-Mask: 0xff)                             */
/* =========================================================  DTR2  ========================================================== */
#define ATIM_DTR2_DTPE_Pos                (17UL)                    /*!< DTPE (Bit 17)                                         */
#define ATIM_DTR2_DTPE_Msk                (0x20000UL)               /*!< DTPE (Bitfield-Mask: 0x01)                            */
#define ATIM_DTR2_DTAE_Pos                (16UL)                    /*!< DTAE (Bit 16)                                         */
#define ATIM_DTR2_DTAE_Msk                (0x10000UL)               /*!< DTAE (Bitfield-Mask: 0x01)                            */
#define ATIM_DTR2_DTGF_Pos                (0UL)                     /*!< DTGF (Bit 0)                                          */
#define ATIM_DTR2_DTGF_Msk                (0xffUL)                  /*!< DTGF (Bitfield-Mask: 0xff)                            */
/* ==========================================================  ECR  ========================================================== */
#define ATIM_ECR_IPOS_Pos                 (6UL)                     /*!< IPOS (Bit 6)                                          */
#define ATIM_ECR_IPOS_Msk                 (0xc0UL)                  /*!< IPOS (Bitfield-Mask: 0x03)                            */
#define ATIM_ECR_FIDX_Pos                 (5UL)                     /*!< FIDX (Bit 5)                                          */
#define ATIM_ECR_FIDX_Msk                 (0x20UL)                  /*!< FIDX (Bitfield-Mask: 0x01)                            */
#define ATIM_ECR_IDIR_Pos                 (1UL)                     /*!< IDIR (Bit 1)                                          */
#define ATIM_ECR_IDIR_Msk                 (0x6UL)                   /*!< IDIR (Bitfield-Mask: 0x03)                            */
#define ATIM_ECR_IE_Pos                   (0UL)                     /*!< IE (Bit 0)                                            */
#define ATIM_ECR_IE_Msk                   (0x1UL)                   /*!< IE (Bitfield-Mask: 0x01)                              */
/* ========================================================  TISEL1  ========================================================= */
#define ATIM_TISEL1_TI4SEL_Pos            (24UL)                    /*!< TI4SEL (Bit 24)                                       */
#define ATIM_TISEL1_TI4SEL_Msk            (0xf000000UL)             /*!< TI4SEL (Bitfield-Mask: 0x0f)                          */
#define ATIM_TISEL1_TI3SEL_Pos            (16UL)                    /*!< TI3SEL (Bit 16)                                       */
#define ATIM_TISEL1_TI3SEL_Msk            (0xf0000UL)               /*!< TI3SEL (Bitfield-Mask: 0x0f)                          */
#define ATIM_TISEL1_TI2SEL_Pos            (8UL)                     /*!< TI2SEL (Bit 8)                                        */
#define ATIM_TISEL1_TI2SEL_Msk            (0xf00UL)                 /*!< TI2SEL (Bitfield-Mask: 0x0f)                          */
#define ATIM_TISEL1_TI1SEL_Pos            (0UL)                     /*!< TI1SEL (Bit 0)                                        */
#define ATIM_TISEL1_TI1SEL_Msk            (0xfUL)                   /*!< TI1SEL (Bitfield-Mask: 0x0f)                          */
/* ========================================================  TISEL2  ========================================================= */
#define ATIM_TISEL2_TI6SEL_Pos            (8UL)                     /*!< TI6SEL (Bit 8)                                        */
#define ATIM_TISEL2_TI6SEL_Msk            (0xf00UL)                 /*!< TI6SEL (Bitfield-Mask: 0x0f)                          */
#define ATIM_TISEL2_TI5SEL_Pos            (0UL)                     /*!< TI5SEL (Bit 0)                                        */
#define ATIM_TISEL2_TI5SEL_Msk            (0xfUL)                   /*!< TI5SEL (Bitfield-Mask: 0x0f)                          */
/* ==========================================================  AF1  ========================================================== */
#define ATIM_AF1_ETRSEL_Pos               (14UL)                    /*!< ETRSEL (Bit 14)                                       */
#define ATIM_AF1_ETRSEL_Msk               (0x3c000UL)               /*!< ETRSEL (Bitfield-Mask: 0x0f)                          */
#define ATIM_AF1_BKVC2P_Pos               (11UL)                    /*!< BKVC2P (Bit 11)                                       */
#define ATIM_AF1_BKVC2P_Msk               (0x800UL)                 /*!< BKVC2P (Bitfield-Mask: 0x01)                          */
#define ATIM_AF1_BKVC1P_Pos               (10UL)                    /*!< BKVC1P (Bit 10)                                       */
#define ATIM_AF1_BKVC1P_Msk               (0x400UL)                 /*!< BKVC1P (Bitfield-Mask: 0x01)                          */
#define ATIM_AF1_BKINP_Pos                (9UL)                     /*!< BKINP (Bit 9)                                         */
#define ATIM_AF1_BKINP_Msk                (0x200UL)                 /*!< BKINP (Bitfield-Mask: 0x01)                           */
#define ATIM_AF1_BKVC2E_Pos               (2UL)                     /*!< BKVC2E (Bit 2)                                        */
#define ATIM_AF1_BKVC2E_Msk               (0x4UL)                   /*!< BKVC2E (Bitfield-Mask: 0x01)                          */
#define ATIM_AF1_BKVC1E_Pos               (1UL)                     /*!< BKVC1E (Bit 1)                                        */
#define ATIM_AF1_BKVC1E_Msk               (0x2UL)                   /*!< BKVC1E (Bitfield-Mask: 0x01)                          */
#define ATIM_AF1_BKINE_Pos                (0UL)                     /*!< BKINE (Bit 0)                                         */
#define ATIM_AF1_BKINE_Msk                (0x1UL)                   /*!< BKINE (Bitfield-Mask: 0x01)                           */
/* ==========================================================  AF2  ========================================================== */
#define ATIM_AF2_OCRSEL_Pos               (16UL)                    /*!< OCRSEL (Bit 16)                                       */
#define ATIM_AF2_OCRSEL_Msk               (0x70000UL)               /*!< OCRSEL (Bitfield-Mask: 0x07)                          */
#define ATIM_AF2_BK2VC2P_Pos              (11UL)                    /*!< BK2VC2P (Bit 11)                                      */
#define ATIM_AF2_BK2VC2P_Msk              (0x800UL)                 /*!< BK2VC2P (Bitfield-Mask: 0x01)                         */
#define ATIM_AF2_BK2VC1P_Pos              (10UL)                    /*!< BK2VC1P (Bit 10)                                      */
#define ATIM_AF2_BK2VC1P_Msk              (0x400UL)                 /*!< BK2VC1P (Bitfield-Mask: 0x01)                         */
#define ATIM_AF2_BK2INP_Pos               (9UL)                     /*!< BK2INP (Bit 9)                                        */
#define ATIM_AF2_BK2INP_Msk               (0x200UL)                 /*!< BK2INP (Bitfield-Mask: 0x01)                          */
#define ATIM_AF2_BK2VC2E_Pos              (2UL)                     /*!< BK2VC2E (Bit 2)                                       */
#define ATIM_AF2_BK2VC2E_Msk              (0x4UL)                   /*!< BK2VC2E (Bitfield-Mask: 0x01)                         */
#define ATIM_AF2_BK2VC1E_Pos              (1UL)                     /*!< BK2VC1E (Bit 1)                                       */
#define ATIM_AF2_BK2VC1E_Msk              (0x2UL)                   /*!< BK2VC1E (Bitfield-Mask: 0x01)                         */
#define ATIM_AF2_BK2INE_Pos               (0UL)                     /*!< BK2INE (Bit 0)                                        */
#define ATIM_AF2_BK2INE_Msk               (0x1UL)                   /*!< BK2INE (Bitfield-Mask: 0x01)                          */
/* ==========================================================  ICR  ========================================================== */
#define ATIM_ICR_TERRF_Pos                (23UL)                    /*!< TERRF (Bit 23)                                        */
#define ATIM_ICR_TERRF_Msk                (0x800000UL)              /*!< TERRF (Bitfield-Mask: 0x01)                           */
#define ATIM_ICR_IERRF_Pos                (22UL)                    /*!< IERRF (Bit 22)                                        */
#define ATIM_ICR_IERRF_Msk                (0x400000UL)              /*!< IERRF (Bitfield-Mask: 0x01)                           */
#define ATIM_ICR_DIRF_Pos                 (21UL)                    /*!< DIRF (Bit 21)                                         */
#define ATIM_ICR_DIRF_Msk                 (0x200000UL)              /*!< DIRF (Bitfield-Mask: 0x01)                            */
#define ATIM_ICR_IDXF_Pos                 (20UL)                    /*!< IDXF (Bit 20)                                         */
#define ATIM_ICR_IDXF_Msk                 (0x100000UL)              /*!< IDXF (Bitfield-Mask: 0x01)                            */
#define ATIM_ICR_CC6OF_Pos                (19UL)                    /*!< CC6OF (Bit 19)                                        */
#define ATIM_ICR_CC6OF_Msk                (0x80000UL)               /*!< CC6OF (Bitfield-Mask: 0x01)                           */
#define ATIM_ICR_CC5OF_Pos                (18UL)                    /*!< CC5OF (Bit 18)                                        */
#define ATIM_ICR_CC5OF_Msk                (0x40000UL)               /*!< CC5OF (Bitfield-Mask: 0x01)                           */
#define ATIM_ICR_CC6IF_Pos                (17UL)                    /*!< CC6IF (Bit 17)                                        */
#define ATIM_ICR_CC6IF_Msk                (0x20000UL)               /*!< CC6IF (Bitfield-Mask: 0x01)                           */
#define ATIM_ICR_CC5IF_Pos                (16UL)                    /*!< CC5IF (Bit 16)                                        */
#define ATIM_ICR_CC5IF_Msk                (0x10000UL)               /*!< CC5IF (Bitfield-Mask: 0x01)                           */
#define ATIM_ICR_SBIF_Pos                 (13UL)                    /*!< SBIF (Bit 13)                                         */
#define ATIM_ICR_SBIF_Msk                 (0x2000UL)                /*!< SBIF (Bitfield-Mask: 0x01)                            */
#define ATIM_ICR_CC4OF_Pos                (12UL)                    /*!< CC4OF (Bit 12)                                        */
#define ATIM_ICR_CC4OF_Msk                (0x1000UL)                /*!< CC4OF (Bitfield-Mask: 0x01)                           */
#define ATIM_ICR_CC3OF_Pos                (11UL)                    /*!< CC3OF (Bit 11)                                        */
#define ATIM_ICR_CC3OF_Msk                (0x800UL)                 /*!< CC3OF (Bitfield-Mask: 0x01)                           */
#define ATIM_ICR_CC2OF_Pos                (10UL)                    /*!< CC2OF (Bit 10)                                        */
#define ATIM_ICR_CC2OF_Msk                (0x400UL)                 /*!< CC2OF (Bitfield-Mask: 0x01)                           */
#define ATIM_ICR_CC1OF_Pos                (9UL)                     /*!< CC1OF (Bit 9)                                         */
#define ATIM_ICR_CC1OF_Msk                (0x200UL)                 /*!< CC1OF (Bitfield-Mask: 0x01)                           */
#define ATIM_ICR_B2IF_Pos                 (8UL)                     /*!< B2IF (Bit 8)                                          */
#define ATIM_ICR_B2IF_Msk                 (0x100UL)                 /*!< B2IF (Bitfield-Mask: 0x01)                            */
#define ATIM_ICR_BIF_Pos                  (7UL)                     /*!< BIF (Bit 7)                                           */
#define ATIM_ICR_BIF_Msk                  (0x80UL)                  /*!< BIF (Bitfield-Mask: 0x01)                             */
#define ATIM_ICR_TIF_Pos                  (6UL)                     /*!< TIF (Bit 6)                                           */
#define ATIM_ICR_TIF_Msk                  (0x40UL)                  /*!< TIF (Bitfield-Mask: 0x01)                             */
#define ATIM_ICR_COMIF_Pos                (5UL)                     /*!< COMIF (Bit 5)                                         */
#define ATIM_ICR_COMIF_Msk                (0x20UL)                  /*!< COMIF (Bitfield-Mask: 0x01)                           */
#define ATIM_ICR_CC4IF_Pos                (4UL)                     /*!< CC4IF (Bit 4)                                         */
#define ATIM_ICR_CC4IF_Msk                (0x10UL)                  /*!< CC4IF (Bitfield-Mask: 0x01)                           */
#define ATIM_ICR_CC3IF_Pos                (3UL)                     /*!< CC3IF (Bit 3)                                         */
#define ATIM_ICR_CC3IF_Msk                (0x8UL)                   /*!< CC3IF (Bitfield-Mask: 0x01)                           */
#define ATIM_ICR_CC2IF_Pos                (2UL)                     /*!< CC2IF (Bit 2)                                         */
#define ATIM_ICR_CC2IF_Msk                (0x4UL)                   /*!< CC2IF (Bitfield-Mask: 0x01)                           */
#define ATIM_ICR_CC1IF_Pos                (1UL)                     /*!< CC1IF (Bit 1)                                         */
#define ATIM_ICR_CC1IF_Msk                (0x2UL)                   /*!< CC1IF (Bitfield-Mask: 0x01)                           */
#define ATIM_ICR_UIF_Pos                  (0UL)                     /*!< UIF (Bit 0)                                           */
#define ATIM_ICR_UIF_Msk                  (0x1UL)                   /*!< UIF (Bitfield-Mask: 0x01)                             */


/* =========================================================================================================================== */
/* ================                                           BTIM                                            ================ */
/* =========================================================================================================================== */

/* ==========================================================  CR1  ========================================================== */
#define BTIMx_CR1_TOGEN_Pos               (15UL)                    /*!< TOGEN (Bit 15)                                        */
#define BTIMx_CR1_TOGEN_Msk               (0x8000UL)                /*!< TOGEN (Bitfield-Mask: 0x01)                           */
#define BTIMx_CR1_UIFREMAP_Pos            (11UL)                    /*!< UIFREMAP (Bit 11)                                     */
#define BTIMx_CR1_UIFREMAP_Msk            (0x800UL)                 /*!< UIFREMAP (Bitfield-Mask: 0x01)                        */
#define BTIMx_CR1_ONESHOT_Pos             (3UL)                     /*!< ONESHOT (Bit 3)                                       */
#define BTIMx_CR1_ONESHOT_Msk             (0x8UL)                   /*!< ONESHOT (Bitfield-Mask: 0x01)                         */
#define BTIMx_CR1_URS_Pos                 (2UL)                     /*!< URS (Bit 2)                                           */
#define BTIMx_CR1_URS_Msk                 (0x4UL)                   /*!< URS (Bitfield-Mask: 0x01)                             */
#define BTIMx_CR1_UDIS_Pos                (1UL)                     /*!< UDIS (Bit 1)                                          */
#define BTIMx_CR1_UDIS_Msk                (0x2UL)                   /*!< UDIS (Bitfield-Mask: 0x01)                            */
#define BTIMx_CR1_EN_Pos                  (0UL)                     /*!< EN (Bit 0)                                            */
#define BTIMx_CR1_EN_Msk                  (0x1UL)                   /*!< EN (Bitfield-Mask: 0x01)                              */
/* ==========================================================  CR2  ========================================================== */
#define BTIMx_CR2_MMS_Pos                 (4UL)                     /*!< MMS (Bit 4)                                           */
#define BTIMx_CR2_MMS_Msk                 (0x70UL)                  /*!< MMS (Bitfield-Mask: 0x07)                             */
/* =========================================================  SMCR  ========================================================== */
#define BTIMx_SMCR_TRGIPOL_Pos            (17UL)                    /*!< TRGIPOL (Bit 17)                                      */
#define BTIMx_SMCR_TRGIPOL_Msk            (0x20000UL)               /*!< TRGIPOL (Bitfield-Mask: 0x01)                         */
#define BTIMx_SMCR_RSTIPOL_Pos            (16UL)                    /*!< RSTIPOL (Bit 16)                                      */
#define BTIMx_SMCR_RSTIPOL_Msk            (0x10000UL)               /*!< RSTIPOL (Bitfield-Mask: 0x01)                         */
#define BTIMx_SMCR_TRGIFLT_Pos            (12UL)                    /*!< TRGIFLT (Bit 12)                                      */
#define BTIMx_SMCR_TRGIFLT_Msk            (0x7000UL)                /*!< TRGIFLT (Bitfield-Mask: 0x07)                         */
#define BTIMx_SMCR_MSM_Pos                (11UL)                    /*!< MSM (Bit 11)                                          */
#define BTIMx_SMCR_MSM_Msk                (0x800UL)                 /*!< MSM (Bitfield-Mask: 0x01)                             */
#define BTIMx_SMCR_TRGISRC_Pos            (7UL)                     /*!< TRGISRC (Bit 7)                                       */
#define BTIMx_SMCR_TRGISRC_Msk            (0x780UL)                 /*!< TRGISRC (Bitfield-Mask: 0x0f)                         */
#define BTIMx_SMCR_RSTISRC_Pos            (3UL)                     /*!< RSTISRC (Bit 3)                                       */
#define BTIMx_SMCR_RSTISRC_Msk            (0x78UL)                  /*!< RSTISRC (Bitfield-Mask: 0x0f)                         */
#define BTIMx_SMCR_SMS_Pos                (0UL)                     /*!< SMS (Bit 0)                                           */
#define BTIMx_SMCR_SMS_Msk                (0x7UL)                   /*!< SMS (Bitfield-Mask: 0x07)                             */
/* ==========================================================  IER  ========================================================== */
#define BTIMx_IER_TIE_Pos                  (6UL)                     /*!< TIE (Bit 6)                                           */
#define BTIMx_IER_TIE_Msk                  (0x40UL)                  /*!< TIE (Bitfield-Mask: 0x01)                             */
#define BTIMx_IER_UIE_Pos                  (0UL)                     /*!< UIE (Bit 0)                                           */
#define BTIMx_IER_UIE_Msk                  (0x1UL)                   /*!< UIE (Bitfield-Mask: 0x01)                             */
/* ==========================================================  ISR  ========================================================== */
#define BTIMx_ISR_TIF_Pos                  (6UL)                     /*!< TIF (Bit 6)                                           */
#define BTIMx_ISR_TIF_Msk                  (0x40UL)                  /*!< TIF (Bitfield-Mask: 0x01)                             */
#define BTIMx_ISR_UIF_Pos                  (0UL)                     /*!< UIF (Bit 0)                                           */
#define BTIMx_ISR_UIF_Msk                  (0x1UL)                   /*!< UIF (Bitfield-Mask: 0x01)                             */
/* ==========================================================  EGR  ========================================================== */
#define BTIMx_EGR_TG_Pos                   (6UL)                     /*!< TG (Bit 6)                                            */
#define BTIMx_EGR_TG_Msk                   (0x40UL)                  /*!< TG (Bitfield-Mask: 0x01)                              */
#define BTIMx_EGR_UG_Pos                   (0UL)                     /*!< UG (Bit 0)                                            */
#define BTIMx_EGR_UG_Msk                   (0x1UL)                   /*!< UG (Bitfield-Mask: 0x01)                              */
/* ==========================================================  ICR  ========================================================== */
#define BTIMx_ICR_TIF_Pos                  (6UL)                     /*!< TIF (Bit 6)                                           */
#define BTIMx_ICR_TIF_Msk                  (0x40UL)                  /*!< TIF (Bitfield-Mask: 0x01)                             */
#define BTIMx_ICR_UIF_Pos                  (0UL)                     /*!< UIF (Bit 0)                                           */
#define BTIMx_ICR_UIF_Msk                  (0x1UL)                   /*!< UIF (Bitfield-Mask: 0x01)                             */
/* ==========================================================  CNT  ========================================================== */
#define BTIMx_CNT_UIFCPY_Pos               (31UL)                    /*!< UIFCPY (Bit 31)                                       */
#define BTIMx_CNT_UIFCPY_Msk               (0x80000000UL)            /*!< UIFCPY (Bitfield-Mask: 0x01)                          */
#define BTIMx_CNT_CNT_Pos                 (0UL)                     /*!< CNT (Bit 0)                                           */
#define BTIMx_CNT_CNT_Msk                 (0xffffUL)                /*!< CNT (Bitfield-Mask: 0xffff)                           */
/* ==========================================================  PSC  ========================================================== */
#define BTIMx_PSC_PSC_Pos                 (0UL)                     /*!< PSC (Bit 0)                                           */
#define BTIMx_PSC_PSC_Msk                 (0xffffUL)                /*!< PSC (Bitfield-Mask: 0xffff)                           */
/* ==========================================================  ARR  ========================================================== */
#define BTIMx_ARR_ARR_Pos                 (0UL)                     /*!< ARR (Bit 0)                                           */
#define BTIMx_ARR_ARR_Msk                 (0xffffUL)                /*!< ARR (Bitfield-Mask: 0xffff)                           */


/* =========================================================================================================================== */
/* ================                                            CRC                                            ================ */
/* =========================================================================================================================== */

/* ==========================================================  CR  =========================================================== */
#define CRC_CR_MODE_Pos                   (0UL)                     /*!< MODE (Bit 0)                                          */
#define CRC_CR_MODE_Msk                   (0xfUL)                   /*!< MODE (Bitfield-Mask: 0x0f)                            */
/* ==========================================================  DR  =========================================================== */
#define CRC_DR_DR_Pos                     (0UL)                     /*!< DR (Bit 0)                                            */
#define CRC_DR_DR_Msk                     (0xffUL)                  /*!< DR (Bitfield-Mask: 0xff)                              */
/* ========================================================  RESULT  ========================================================= */
#define CRC_RESULT_RESULT_Pos             (0UL)                     /*!< RESULT (Bit 0)                                        */
#define CRC_RESULT_RESULT_Msk             (0xffffUL)                /*!< RESULT (Bitfield-Mask: 0xffff)                        */


/* =========================================================================================================================== */
/* ================                                           FLASH                                           ================ */
/* =========================================================================================================================== */

/* ==========================================================  CR1  ========================================================== */
#define FLASH_CR1_KEY_Pos                 (16UL)                    /*!< KEY (Bit 16)                                          */
#define FLASH_CR1_KEY_Msk                 (0xffff0000UL)            /*!< KEY (Bitfield-Mask: 0xffff)                           */
#define FLASH_CR1_SECURITY_Pos            (5UL)                     /*!< SECURITY (Bit 5)                                      */
#define FLASH_CR1_SECURITY_Msk            (0x60UL)                  /*!< SECURITY (Bitfield-Mask: 0x03)                        */
#define FLASH_CR1_MODE_Pos                (0UL)                     /*!< MODE (Bit 0)                                          */
#define FLASH_CR1_MODE_Msk                (0x3UL)                   /*!< MODE (Bitfield-Mask: 0x03)                            */
/* ==========================================================  CR2  ========================================================== */
#define FLASH_CR2_KEY_Pos                 (16UL)                    /*!< KEY (Bit 16)                                          */
#define FLASH_CR2_KEY_Msk                 (0xffff0000UL)            /*!< KEY (Bitfield-Mask: 0xffff)                           */
#define FLASH_CR2_WAIT_Pos                (0UL)                     /*!< WAIT (Bit 0)                                          */
#define FLASH_CR2_WAIT_Msk                (0x7UL)                   /*!< WAIT (Bitfield-Mask: 0x07)                            */
/* =======================================================  PAGELOCK  ======================================================== */
#define FLASH_PAGELOCK_KEY_Pos            (16UL)                    /*!< KEY (Bit 16)                                          */
#define FLASH_PAGELOCK_KEY_Msk            (0xffff0000UL)            /*!< KEY (Bitfield-Mask: 0xffff)                           */
#define FLASH_PAGELOCK_LOCK15_Pos         (15UL)                    /*!< LOCK15 (Bit 15)                                       */
#define FLASH_PAGELOCK_LOCK15_Msk         (0x8000UL)                /*!< LOCK15 (Bitfield-Mask: 0x01)                          */
#define FLASH_PAGELOCK_LOCK14_Pos         (14UL)                    /*!< LOCK14 (Bit 14)                                       */
#define FLASH_PAGELOCK_LOCK14_Msk         (0x4000UL)                /*!< LOCK14 (Bitfield-Mask: 0x01)                          */
#define FLASH_PAGELOCK_LOCK13_Pos         (13UL)                    /*!< LOCK13 (Bit 13)                                       */
#define FLASH_PAGELOCK_LOCK13_Msk         (0x2000UL)                /*!< LOCK13 (Bitfield-Mask: 0x01)                          */
#define FLASH_PAGELOCK_LOCK12_Pos         (12UL)                    /*!< LOCK12 (Bit 12)                                       */
#define FLASH_PAGELOCK_LOCK12_Msk         (0x1000UL)                /*!< LOCK12 (Bitfield-Mask: 0x01)                          */
#define FLASH_PAGELOCK_LOCK11_Pos         (11UL)                    /*!< LOCK11 (Bit 11)                                       */
#define FLASH_PAGELOCK_LOCK11_Msk         (0x800UL)                 /*!< LOCK11 (Bitfield-Mask: 0x01)                          */
#define FLASH_PAGELOCK_LOCK10_Pos         (10UL)                    /*!< LOCK10 (Bit 10)                                       */
#define FLASH_PAGELOCK_LOCK10_Msk         (0x400UL)                 /*!< LOCK10 (Bitfield-Mask: 0x01)                          */
#define FLASH_PAGELOCK_LOCK9_Pos          (9UL)                     /*!< LOCK9 (Bit 9)                                         */
#define FLASH_PAGELOCK_LOCK9_Msk          (0x200UL)                 /*!< LOCK9 (Bitfield-Mask: 0x01)                           */
#define FLASH_PAGELOCK_LOCK8_Pos          (8UL)                     /*!< LOCK8 (Bit 8)                                         */
#define FLASH_PAGELOCK_LOCK8_Msk          (0x100UL)                 /*!< LOCK8 (Bitfield-Mask: 0x01)                           */
#define FLASH_PAGELOCK_LOCK7_Pos          (7UL)                     /*!< LOCK7 (Bit 7)                                         */
#define FLASH_PAGELOCK_LOCK7_Msk          (0x80UL)                  /*!< LOCK7 (Bitfield-Mask: 0x01)                           */
#define FLASH_PAGELOCK_LOCK6_Pos          (6UL)                     /*!< LOCK6 (Bit 6)                                         */
#define FLASH_PAGELOCK_LOCK6_Msk          (0x40UL)                  /*!< LOCK6 (Bitfield-Mask: 0x01)                           */
#define FLASH_PAGELOCK_LOCK5_Pos          (5UL)                     /*!< LOCK5 (Bit 5)                                         */
#define FLASH_PAGELOCK_LOCK5_Msk          (0x20UL)                  /*!< LOCK5 (Bitfield-Mask: 0x01)                           */
#define FLASH_PAGELOCK_LOCK4_Pos          (4UL)                     /*!< LOCK4 (Bit 4)                                         */
#define FLASH_PAGELOCK_LOCK4_Msk          (0x10UL)                  /*!< LOCK4 (Bitfield-Mask: 0x01)                           */
#define FLASH_PAGELOCK_LOCK3_Pos          (3UL)                     /*!< LOCK3 (Bit 3)                                         */
#define FLASH_PAGELOCK_LOCK3_Msk          (0x8UL)                   /*!< LOCK3 (Bitfield-Mask: 0x01)                           */
#define FLASH_PAGELOCK_LOCK2_Pos          (2UL)                     /*!< LOCK2 (Bit 2)                                         */
#define FLASH_PAGELOCK_LOCK2_Msk          (0x4UL)                   /*!< LOCK2 (Bitfield-Mask: 0x01)                           */
#define FLASH_PAGELOCK_LOCK1_Pos          (1UL)                     /*!< LOCK1 (Bit 1)                                         */
#define FLASH_PAGELOCK_LOCK1_Msk          (0x2UL)                   /*!< LOCK1 (Bitfield-Mask: 0x01)                           */
#define FLASH_PAGELOCK_LOCK0_Pos          (0UL)                     /*!< LOCK0 (Bit 0)                                         */
#define FLASH_PAGELOCK_LOCK0_Msk          (0x1UL)                   /*!< LOCK0 (Bitfield-Mask: 0x01)                           */
/* ==========================================================  IER  ========================================================== */
#define FLASH_IER_PROG_Pos                (4UL)                     /*!< PROG (Bit 4)                                          */
#define FLASH_IER_PROG_Msk                (0x10UL)                  /*!< PROG (Bitfield-Mask: 0x01)                            */
#define FLASH_IER_PAGELOCK_Pos            (1UL)                     /*!< PAGELOCK (Bit 1)                                      */
#define FLASH_IER_PAGELOCK_Msk            (0x2UL)                   /*!< PAGELOCK (Bitfield-Mask: 0x01)                        */
#define FLASH_IER_PC_Pos                  (0UL)                     /*!< PC (Bit 0)                                            */
#define FLASH_IER_PC_Msk                  (0x1UL)                   /*!< PC (Bitfield-Mask: 0x01)                              */
/* ==========================================================  ISR  ========================================================== */
#define FLASH_ISR_BUSY_Pos                (5UL)                     /*!< BUSY (Bit 5)                                          */
#define FLASH_ISR_BUSY_Msk                (0x20UL)                  /*!< BUSY (Bitfield-Mask: 0x01)                            */
#define FLASH_ISR_PROG_Pos                (4UL)                     /*!< PROG (Bit 4)                                          */
#define FLASH_ISR_PROG_Msk                (0x10UL)                  /*!< PROG (Bitfield-Mask: 0x01)                            */
#define FLASH_ISR_PAGELOCK_Pos            (1UL)                     /*!< PAGELOCK (Bit 1)                                      */
#define FLASH_ISR_PAGELOCK_Msk            (0x2UL)                   /*!< PAGELOCK (Bitfield-Mask: 0x01)                        */
#define FLASH_ISR_PC_Pos                  (0UL)                     /*!< PC (Bit 0)                                            */
#define FLASH_ISR_PC_Msk                  (0x1UL)                   /*!< PC (Bitfield-Mask: 0x01)                              */
/* ==========================================================  ICR  ========================================================== */
#define FLASH_ICR_PROG_Pos                (4UL)                     /*!< PROG (Bit 4)                                          */
#define FLASH_ICR_PROG_Msk                (0x10UL)                  /*!< PROG (Bitfield-Mask: 0x01)                            */
#define FLASH_ICR_PAGELOCK_Pos            (1UL)                     /*!< PAGELOCK (Bit 1)                                      */
#define FLASH_ICR_PAGELOCK_Msk            (0x2UL)                   /*!< PAGELOCK (Bitfield-Mask: 0x01)                        */
#define FLASH_ICR_PC_Pos                  (0UL)                     /*!< PC (Bit 0)                                            */
#define FLASH_ICR_PC_Msk                  (0x1UL)                   /*!< PC (Bitfield-Mask: 0x01)                              */
/* ========================================================  SDKCFR  ========================================================= */
#define FLASH_SDKCFR_END_Pos              (8UL)                     /*!< END (Bit 8)                                           */
#define FLASH_SDKCFR_END_Msk              (0x7f00UL)                /*!< END (Bitfield-Mask: 0x7f)                             */
#define FLASH_SDKCFR_START_Pos            (0UL)                     /*!< START (Bit 0)                                         */
#define FLASH_SDKCFR_START_Msk            (0x7fUL)                  /*!< START (Bitfield-Mask: 0x7f)                           */


/* =========================================================================================================================== */
/* ================                                           GPIO                                            ================ */
/* =========================================================================================================================== */

/* ==========================================================  DIR  ========================================================== */
#define GPIOx_DIR_PIN8_Pos                (8UL)                     /*!< PIN8 (Bit 8)                                          */
#define GPIOx_DIR_PIN8_Msk                (0x100UL)                 /*!< PIN8 (Bitfield-Mask: 0x01)                            */
#define GPIOx_DIR_PIN7_Pos                (7UL)                     /*!< PIN7 (Bit 7)                                          */
#define GPIOx_DIR_PIN7_Msk                (0x80UL)                  /*!< PIN7 (Bitfield-Mask: 0x01)                            */
#define GPIOx_DIR_PIN6_Pos                (6UL)                     /*!< PIN6 (Bit 6)                                          */
#define GPIOx_DIR_PIN6_Msk                (0x40UL)                  /*!< PIN6 (Bitfield-Mask: 0x01)                            */
#define GPIOx_DIR_PIN5_Pos                (5UL)                     /*!< PIN5 (Bit 5)                                          */
#define GPIOx_DIR_PIN5_Msk                (0x20UL)                  /*!< PIN5 (Bitfield-Mask: 0x01)                            */
#define GPIOx_DIR_PIN4_Pos                (4UL)                     /*!< PIN4 (Bit 4)                                          */
#define GPIOx_DIR_PIN4_Msk                (0x10UL)                  /*!< PIN4 (Bitfield-Mask: 0x01)                            */
#define GPIOx_DIR_PIN3_Pos                (3UL)                     /*!< PIN3 (Bit 3)                                          */
#define GPIOx_DIR_PIN3_Msk                (0x8UL)                   /*!< PIN3 (Bitfield-Mask: 0x01)                            */
#define GPIOx_DIR_PIN2_Pos                (2UL)                     /*!< PIN2 (Bit 2)                                          */
#define GPIOx_DIR_PIN2_Msk                (0x4UL)                   /*!< PIN2 (Bitfield-Mask: 0x01)                            */
#define GPIOx_DIR_PIN1_Pos                (1UL)                     /*!< PIN1 (Bit 1)                                          */
#define GPIOx_DIR_PIN1_Msk                (0x2UL)                   /*!< PIN1 (Bitfield-Mask: 0x01)                            */
#define GPIOx_DIR_PIN0_Pos                (0UL)                     /*!< PIN0 (Bit 0)                                          */
#define GPIOx_DIR_PIN0_Msk                (0x1UL)                   /*!< PIN0 (Bitfield-Mask: 0x01)                            */
/* =======================================================  OPENDRAIN  ======================================================= */
#define GPIOx_OPENDRAIN_PIN8_Pos          (8UL)                     /*!< PIN8 (Bit 8)                                          */
#define GPIOx_OPENDRAIN_PIN8_Msk          (0x100UL)                 /*!< PIN8 (Bitfield-Mask: 0x01)                            */
#define GPIOx_OPENDRAIN_PIN7_Pos          (7UL)                     /*!< PIN7 (Bit 7)                                          */
#define GPIOx_OPENDRAIN_PIN7_Msk          (0x80UL)                  /*!< PIN7 (Bitfield-Mask: 0x01)                            */
#define GPIOx_OPENDRAIN_PIN6_Pos          (6UL)                     /*!< PIN6 (Bit 6)                                          */
#define GPIOx_OPENDRAIN_PIN6_Msk          (0x40UL)                  /*!< PIN6 (Bitfield-Mask: 0x01)                            */
#define GPIOx_OPENDRAIN_PIN5_Pos          (5UL)                     /*!< PIN5 (Bit 5)                                          */
#define GPIOx_OPENDRAIN_PIN5_Msk          (0x20UL)                  /*!< PIN5 (Bitfield-Mask: 0x01)                            */
#define GPIOx_OPENDRAIN_PIN4_Pos          (4UL)                     /*!< PIN4 (Bit 4)                                          */
#define GPIOx_OPENDRAIN_PIN4_Msk          (0x10UL)                  /*!< PIN4 (Bitfield-Mask: 0x01)                            */
#define GPIOx_OPENDRAIN_PIN3_Pos          (3UL)                     /*!< PIN3 (Bit 3)                                          */
#define GPIOx_OPENDRAIN_PIN3_Msk          (0x8UL)                   /*!< PIN3 (Bitfield-Mask: 0x01)                            */
#define GPIOx_OPENDRAIN_PIN2_Pos          (2UL)                     /*!< PIN2 (Bit 2)                                          */
#define GPIOx_OPENDRAIN_PIN2_Msk          (0x4UL)                   /*!< PIN2 (Bitfield-Mask: 0x01)                            */
#define GPIOx_OPENDRAIN_PIN1_Pos          (1UL)                     /*!< PIN1 (Bit 1)                                          */
#define GPIOx_OPENDRAIN_PIN1_Msk          (0x2UL)                   /*!< PIN1 (Bitfield-Mask: 0x01)                            */
#define GPIOx_OPENDRAIN_PIN0_Pos          (0UL)                     /*!< PIN0 (Bit 0)                                          */
#define GPIOx_OPENDRAIN_PIN0_Msk          (0x1UL)                   /*!< PIN0 (Bitfield-Mask: 0x01)                            */
/* ==========================================================  PUR  ========================================================== */
#define GPIOx_PUR_PIN8_Pos                (8UL)                     /*!< PIN8 (Bit 8)                                          */
#define GPIOx_PUR_PIN8_Msk                (0x100UL)                 /*!< PIN8 (Bitfield-Mask: 0x01)                            */
#define GPIOx_PUR_PIN7_Pos                (7UL)                     /*!< PIN7 (Bit 7)                                          */
#define GPIOx_PUR_PIN7_Msk                (0x80UL)                  /*!< PIN7 (Bitfield-Mask: 0x01)                            */
#define GPIOx_PUR_PIN6_Pos                (6UL)                     /*!< PIN6 (Bit 6)                                          */
#define GPIOx_PUR_PIN6_Msk                (0x40UL)                  /*!< PIN6 (Bitfield-Mask: 0x01)                            */
#define GPIOx_PUR_PIN5_Pos                (5UL)                     /*!< PIN5 (Bit 5)                                          */
#define GPIOx_PUR_PIN5_Msk                (0x20UL)                  /*!< PIN5 (Bitfield-Mask: 0x01)                            */
#define GPIOx_PUR_PIN4_Pos                (4UL)                     /*!< PIN4 (Bit 4)                                          */
#define GPIOx_PUR_PIN4_Msk                (0x10UL)                  /*!< PIN4 (Bitfield-Mask: 0x01)                            */
#define GPIOx_PUR_PIN3_Pos                (3UL)                     /*!< PIN3 (Bit 3)                                          */
#define GPIOx_PUR_PIN3_Msk                (0x8UL)                   /*!< PIN3 (Bitfield-Mask: 0x01)                            */
#define GPIOx_PUR_PIN2_Pos                (2UL)                     /*!< PIN2 (Bit 2)                                          */
#define GPIOx_PUR_PIN2_Msk                (0x4UL)                   /*!< PIN2 (Bitfield-Mask: 0x01)                            */
#define GPIOx_PUR_PIN1_Pos                (1UL)                     /*!< PIN1 (Bit 1)                                          */
#define GPIOx_PUR_PIN1_Msk                (0x2UL)                   /*!< PIN1 (Bitfield-Mask: 0x01)                            */
#define GPIOx_PUR_PIN0_Pos                (0UL)                     /*!< PIN0 (Bit 0)                                          */
#define GPIOx_PUR_PIN0_Msk                (0x1UL)                   /*!< PIN0 (Bitfield-Mask: 0x01)                            */
/* =========================================================  AFRH  ========================================================== */
#define GPIOx_AFRH_AFR8_Pos               (0UL)                     /*!< AFR8 (Bit 0)                                          */
#define GPIOx_AFRH_AFR8_Msk               (0x7UL)                   /*!< AFR8 (Bitfield-Mask: 0x07)                            */
/* =========================================================  AFRL  ========================================================== */
#define GPIOx_AFRL_AFR7_Pos               (28UL)                    /*!< AFR7 (Bit 28)                                         */
#define GPIOx_AFRL_AFR7_Msk               (0x70000000UL)            /*!< AFR7 (Bitfield-Mask: 0x07)                            */
#define GPIOx_AFRL_AFR6_Pos               (24UL)                    /*!< AFR6 (Bit 24)                                         */
#define GPIOx_AFRL_AFR6_Msk               (0x7000000UL)             /*!< AFR6 (Bitfield-Mask: 0x07)                            */
#define GPIOx_AFRL_AFR5_Pos               (20UL)                    /*!< AFR5 (Bit 20)                                         */
#define GPIOx_AFRL_AFR5_Msk               (0x700000UL)              /*!< AFR5 (Bitfield-Mask: 0x07)                            */
#define GPIOx_AFRL_AFR4_Pos               (16UL)                    /*!< AFR4 (Bit 16)                                         */
#define GPIOx_AFRL_AFR4_Msk               (0x70000UL)               /*!< AFR4 (Bitfield-Mask: 0x07)                            */
#define GPIOx_AFRL_AFR3_Pos               (12UL)                    /*!< AFR3 (Bit 12)                                         */
#define GPIOx_AFRL_AFR3_Msk               (0x7000UL)                /*!< AFR3 (Bitfield-Mask: 0x07)                            */
#define GPIOx_AFRL_AFR2_Pos               (8UL)                     /*!< AFR2 (Bit 8)                                          */
#define GPIOx_AFRL_AFR2_Msk               (0x700UL)                 /*!< AFR2 (Bitfield-Mask: 0x07)                            */
#define GPIOx_AFRL_AFR1_Pos               (4UL)                     /*!< AFR1 (Bit 4)                                          */
#define GPIOx_AFRL_AFR1_Msk               (0x70UL)                  /*!< AFR1 (Bitfield-Mask: 0x07)                            */
#define GPIOx_AFRL_AFR0_Pos               (0UL)                     /*!< AFR0 (Bit 0)                                          */
#define GPIOx_AFRL_AFR0_Msk               (0x7UL)                   /*!< AFR0 (Bitfield-Mask: 0x07)                            */
/* ========================================================  ANALOG  ========================================================= */
#define GPIOx_ANALOG_PIN8_Pos             (8UL)                     /*!< PIN8 (Bit 8)                                          */
#define GPIOx_ANALOG_PIN8_Msk             (0x100UL)                 /*!< PIN8 (Bitfield-Mask: 0x01)                            */
#define GPIOx_ANALOG_PIN7_Pos             (7UL)                     /*!< PIN7 (Bit 7)                                          */
#define GPIOx_ANALOG_PIN7_Msk             (0x80UL)                  /*!< PIN7 (Bitfield-Mask: 0x01)                            */
#define GPIOx_ANALOG_PIN6_Pos             (6UL)                     /*!< PIN6 (Bit 6)                                          */
#define GPIOx_ANALOG_PIN6_Msk             (0x40UL)                  /*!< PIN6 (Bitfield-Mask: 0x01)                            */
#define GPIOx_ANALOG_PIN5_Pos             (5UL)                     /*!< PIN5 (Bit 5)                                          */
#define GPIOx_ANALOG_PIN5_Msk             (0x20UL)                  /*!< PIN5 (Bitfield-Mask: 0x01)                            */
#define GPIOx_ANALOG_PIN4_Pos             (4UL)                     /*!< PIN4 (Bit 4)                                          */
#define GPIOx_ANALOG_PIN4_Msk             (0x10UL)                  /*!< PIN4 (Bitfield-Mask: 0x01)                            */
#define GPIOx_ANALOG_PIN3_Pos             (3UL)                     /*!< PIN3 (Bit 3)                                          */
#define GPIOx_ANALOG_PIN3_Msk             (0x8UL)                   /*!< PIN3 (Bitfield-Mask: 0x01)                            */
#define GPIOx_ANALOG_PIN2_Pos             (2UL)                     /*!< PIN2 (Bit 2)                                          */
#define GPIOx_ANALOG_PIN2_Msk             (0x4UL)                   /*!< PIN2 (Bitfield-Mask: 0x01)                            */
#define GPIOx_ANALOG_PIN1_Pos             (1UL)                     /*!< PIN1 (Bit 1)                                          */
#define GPIOx_ANALOG_PIN1_Msk             (0x2UL)                   /*!< PIN1 (Bitfield-Mask: 0x01)                            */
#define GPIOx_ANALOG_PIN0_Pos             (0UL)                     /*!< PIN0 (Bit 0)                                          */
#define GPIOx_ANALOG_PIN0_Msk             (0x1UL)                   /*!< PIN0 (Bitfield-Mask: 0x01)                            */
/* ========================================================  RISEIE  ========================================================= */
#define GPIOx_RISEIE_PIN8_Pos             (8UL)                     /*!< PIN8 (Bit 8)                                          */
#define GPIOx_RISEIE_PIN8_Msk             (0x100UL)                 /*!< PIN8 (Bitfield-Mask: 0x01)                            */
#define GPIOx_RISEIE_PIN7_Pos             (7UL)                     /*!< PIN7 (Bit 7)                                          */
#define GPIOx_RISEIE_PIN7_Msk             (0x80UL)                  /*!< PIN7 (Bitfield-Mask: 0x01)                            */
#define GPIOx_RISEIE_PIN6_Pos             (6UL)                     /*!< PIN6 (Bit 6)                                          */
#define GPIOx_RISEIE_PIN6_Msk             (0x40UL)                  /*!< PIN6 (Bitfield-Mask: 0x01)                            */
#define GPIOx_RISEIE_PIN5_Pos             (5UL)                     /*!< PIN5 (Bit 5)                                          */
#define GPIOx_RISEIE_PIN5_Msk             (0x20UL)                  /*!< PIN5 (Bitfield-Mask: 0x01)                            */
#define GPIOx_RISEIE_PIN4_Pos             (4UL)                     /*!< PIN4 (Bit 4)                                          */
#define GPIOx_RISEIE_PIN4_Msk             (0x10UL)                  /*!< PIN4 (Bitfield-Mask: 0x01)                            */
#define GPIOx_RISEIE_PIN3_Pos             (3UL)                     /*!< PIN3 (Bit 3)                                          */
#define GPIOx_RISEIE_PIN3_Msk             (0x8UL)                   /*!< PIN3 (Bitfield-Mask: 0x01)                            */
#define GPIOx_RISEIE_PIN2_Pos             (2UL)                     /*!< PIN2 (Bit 2)                                          */
#define GPIOx_RISEIE_PIN2_Msk             (0x4UL)                   /*!< PIN2 (Bitfield-Mask: 0x01)                            */
#define GPIOx_RISEIE_PIN1_Pos             (1UL)                     /*!< PIN1 (Bit 1)                                          */
#define GPIOx_RISEIE_PIN1_Msk             (0x2UL)                   /*!< PIN1 (Bitfield-Mask: 0x01)                            */
#define GPIOx_RISEIE_PIN0_Pos             (0UL)                     /*!< PIN0 (Bit 0)                                          */
#define GPIOx_RISEIE_PIN0_Msk             (0x1UL)                   /*!< PIN0 (Bitfield-Mask: 0x01)                            */
/* ========================================================  FALLIE  ========================================================= */
#define GPIOx_FALLIE_PIN8_Pos             (8UL)                     /*!< PIN8 (Bit 8)                                          */
#define GPIOx_FALLIE_PIN8_Msk             (0x100UL)                 /*!< PIN8 (Bitfield-Mask: 0x01)                            */
#define GPIOx_FALLIE_PIN7_Pos             (7UL)                     /*!< PIN7 (Bit 7)                                          */
#define GPIOx_FALLIE_PIN7_Msk             (0x80UL)                  /*!< PIN7 (Bitfield-Mask: 0x01)                            */
#define GPIOx_FALLIE_PIN6_Pos             (6UL)                     /*!< PIN6 (Bit 6)                                          */
#define GPIOx_FALLIE_PIN6_Msk             (0x40UL)                  /*!< PIN6 (Bitfield-Mask: 0x01)                            */
#define GPIOx_FALLIE_PIN5_Pos             (5UL)                     /*!< PIN5 (Bit 5)                                          */
#define GPIOx_FALLIE_PIN5_Msk             (0x20UL)                  /*!< PIN5 (Bitfield-Mask: 0x01)                            */
#define GPIOx_FALLIE_PIN4_Pos             (4UL)                     /*!< PIN4 (Bit 4)                                          */
#define GPIOx_FALLIE_PIN4_Msk             (0x10UL)                  /*!< PIN4 (Bitfield-Mask: 0x01)                            */
#define GPIOx_FALLIE_PIN3_Pos             (3UL)                     /*!< PIN3 (Bit 3)                                          */
#define GPIOx_FALLIE_PIN3_Msk             (0x8UL)                   /*!< PIN3 (Bitfield-Mask: 0x01)                            */
#define GPIOx_FALLIE_PIN2_Pos             (2UL)                     /*!< PIN2 (Bit 2)                                          */
#define GPIOx_FALLIE_PIN2_Msk             (0x4UL)                   /*!< PIN2 (Bitfield-Mask: 0x01)                            */
#define GPIOx_FALLIE_PIN1_Pos             (1UL)                     /*!< PIN1 (Bit 1)                                          */
#define GPIOx_FALLIE_PIN1_Msk             (0x2UL)                   /*!< PIN1 (Bitfield-Mask: 0x01)                            */
#define GPIOx_FALLIE_PIN0_Pos             (0UL)                     /*!< PIN0 (Bit 0)                                          */
#define GPIOx_FALLIE_PIN0_Msk             (0x1UL)                   /*!< PIN0 (Bitfield-Mask: 0x01)                            */
/* ==========================================================  ISR  ========================================================== */
#define GPIOx_ISR_PIN8_Pos                (8UL)                     /*!< PIN8 (Bit 8)                                          */
#define GPIOx_ISR_PIN8_Msk                (0x100UL)                 /*!< PIN8 (Bitfield-Mask: 0x01)                            */
#define GPIOx_ISR_PIN7_Pos                (7UL)                     /*!< PIN7 (Bit 7)                                          */
#define GPIOx_ISR_PIN7_Msk                (0x80UL)                  /*!< PIN7 (Bitfield-Mask: 0x01)                            */
#define GPIOx_ISR_PIN6_Pos                (6UL)                     /*!< PIN6 (Bit 6)                                          */
#define GPIOx_ISR_PIN6_Msk                (0x40UL)                  /*!< PIN6 (Bitfield-Mask: 0x01)                            */
#define GPIOx_ISR_PIN5_Pos                (5UL)                     /*!< PIN5 (Bit 5)                                          */
#define GPIOx_ISR_PIN5_Msk                (0x20UL)                  /*!< PIN5 (Bitfield-Mask: 0x01)                            */
#define GPIOx_ISR_PIN4_Pos                (4UL)                     /*!< PIN4 (Bit 4)                                          */
#define GPIOx_ISR_PIN4_Msk                (0x10UL)                  /*!< PIN4 (Bitfield-Mask: 0x01)                            */
#define GPIOx_ISR_PIN3_Pos                (3UL)                     /*!< PIN3 (Bit 3)                                          */
#define GPIOx_ISR_PIN3_Msk                (0x8UL)                   /*!< PIN3 (Bitfield-Mask: 0x01)                            */
#define GPIOx_ISR_PIN2_Pos                (2UL)                     /*!< PIN2 (Bit 2)                                          */
#define GPIOx_ISR_PIN2_Msk                (0x4UL)                   /*!< PIN2 (Bitfield-Mask: 0x01)                            */
#define GPIOx_ISR_PIN1_Pos                (1UL)                     /*!< PIN1 (Bit 1)                                          */
#define GPIOx_ISR_PIN1_Msk                (0x2UL)                   /*!< PIN1 (Bitfield-Mask: 0x01)                            */
#define GPIOx_ISR_PIN0_Pos                (0UL)                     /*!< PIN0 (Bit 0)                                          */
#define GPIOx_ISR_PIN0_Msk                (0x1UL)                   /*!< PIN0 (Bitfield-Mask: 0x01)                            */
/* ==========================================================  ICR  ========================================================== */
#define GPIOx_ICR_PIN8_Pos                (8UL)                     /*!< PIN8 (Bit 8)                                          */
#define GPIOx_ICR_PIN8_Msk                (0x100UL)                 /*!< PIN8 (Bitfield-Mask: 0x01)                            */
#define GPIOx_ICR_PIN7_Pos                (7UL)                     /*!< PIN7 (Bit 7)                                          */
#define GPIOx_ICR_PIN7_Msk                (0x80UL)                  /*!< PIN7 (Bitfield-Mask: 0x01)                            */
#define GPIOx_ICR_PIN6_Pos                (6UL)                     /*!< PIN6 (Bit 6)                                          */
#define GPIOx_ICR_PIN6_Msk                (0x40UL)                  /*!< PIN6 (Bitfield-Mask: 0x01)                            */
#define GPIOx_ICR_PIN5_Pos                (5UL)                     /*!< PIN5 (Bit 5)                                          */
#define GPIOx_ICR_PIN5_Msk                (0x20UL)                  /*!< PIN5 (Bitfield-Mask: 0x01)                            */
#define GPIOx_ICR_PIN4_Pos                (4UL)                     /*!< PIN4 (Bit 4)                                          */
#define GPIOx_ICR_PIN4_Msk                (0x10UL)                  /*!< PIN4 (Bitfield-Mask: 0x01)                            */
#define GPIOx_ICR_PIN3_Pos                (3UL)                     /*!< PIN3 (Bit 3)                                          */
#define GPIOx_ICR_PIN3_Msk                (0x8UL)                   /*!< PIN3 (Bitfield-Mask: 0x01)                            */
#define GPIOx_ICR_PIN2_Pos                (2UL)                     /*!< PIN2 (Bit 2)                                          */
#define GPIOx_ICR_PIN2_Msk                (0x4UL)                   /*!< PIN2 (Bitfield-Mask: 0x01)                            */
#define GPIOx_ICR_PIN1_Pos                (1UL)                     /*!< PIN1 (Bit 1)                                          */
#define GPIOx_ICR_PIN1_Msk                (0x2UL)                   /*!< PIN1 (Bitfield-Mask: 0x01)                            */
#define GPIOx_ICR_PIN0_Pos                (0UL)                     /*!< PIN0 (Bit 0)                                          */
#define GPIOx_ICR_PIN0_Msk                (0x1UL)                   /*!< PIN0 (Bitfield-Mask: 0x01)                            */
/* ========================================================  FILTER  ========================================================= */
#define GPIOx_FILTER_FLTCLK_Pos           (16UL)                    /*!< FLTCLK (Bit 16)                                       */
#define GPIOx_FILTER_FLTCLK_Msk           (0x70000UL)               /*!< FLTCLK (Bitfield-Mask: 0x07)                          */
#define GPIOx_FILTER_PIN8_Pos             (8UL)                     /*!< PIN8 (Bit 8)                                          */
#define GPIOx_FILTER_PIN8_Msk             (0x100UL)                 /*!< PIN8 (Bitfield-Mask: 0x01)                            */
#define GPIOx_FILTER_PIN7_Pos             (7UL)                     /*!< PIN7 (Bit 7)                                          */
#define GPIOx_FILTER_PIN7_Msk             (0x80UL)                  /*!< PIN7 (Bitfield-Mask: 0x01)                            */
#define GPIOx_FILTER_PIN6_Pos             (6UL)                     /*!< PIN6 (Bit 6)                                          */
#define GPIOx_FILTER_PIN6_Msk             (0x40UL)                  /*!< PIN6 (Bitfield-Mask: 0x01)                            */
#define GPIOx_FILTER_PIN5_Pos             (5UL)                     /*!< PIN5 (Bit 5)                                          */
#define GPIOx_FILTER_PIN5_Msk             (0x20UL)                  /*!< PIN5 (Bitfield-Mask: 0x01)                            */
#define GPIOx_FILTER_PIN4_Pos             (4UL)                     /*!< PIN4 (Bit 4)                                          */
#define GPIOx_FILTER_PIN4_Msk             (0x10UL)                  /*!< PIN4 (Bitfield-Mask: 0x01)                            */
#define GPIOx_FILTER_PIN3_Pos             (3UL)                     /*!< PIN3 (Bit 3)                                          */
#define GPIOx_FILTER_PIN3_Msk             (0x8UL)                   /*!< PIN3 (Bitfield-Mask: 0x01)                            */
#define GPIOx_FILTER_PIN2_Pos             (2UL)                     /*!< PIN2 (Bit 2)                                          */
#define GPIOx_FILTER_PIN2_Msk             (0x4UL)                   /*!< PIN2 (Bitfield-Mask: 0x01)                            */
#define GPIOx_FILTER_PIN1_Pos             (1UL)                     /*!< PIN1 (Bit 1)                                          */
#define GPIOx_FILTER_PIN1_Msk             (0x2UL)                   /*!< PIN1 (Bitfield-Mask: 0x01)                            */
#define GPIOx_FILTER_PIN0_Pos             (0UL)                     /*!< PIN0 (Bit 0)                                          */
#define GPIOx_FILTER_PIN0_Msk             (0x1UL)                   /*!< PIN0 (Bitfield-Mask: 0x01)                            */
/* ==========================================================  IDR  ========================================================== */
#define GPIOx_IDR_PIN8_Pos                (8UL)                     /*!< PIN8 (Bit 8)                                          */
#define GPIOx_IDR_PIN8_Msk                (0x100UL)                 /*!< PIN8 (Bitfield-Mask: 0x01)                            */
#define GPIOx_IDR_PIN7_Pos                (7UL)                     /*!< PIN7 (Bit 7)                                          */
#define GPIOx_IDR_PIN7_Msk                (0x80UL)                  /*!< PIN7 (Bitfield-Mask: 0x01)                            */
#define GPIOx_IDR_PIN6_Pos                (6UL)                     /*!< PIN6 (Bit 6)                                          */
#define GPIOx_IDR_PIN6_Msk                (0x40UL)                  /*!< PIN6 (Bitfield-Mask: 0x01)                            */
#define GPIOx_IDR_PIN5_Pos                (5UL)                     /*!< PIN5 (Bit 5)                                          */
#define GPIOx_IDR_PIN5_Msk                (0x20UL)                  /*!< PIN5 (Bitfield-Mask: 0x01)                            */
#define GPIOx_IDR_PIN4_Pos                (4UL)                     /*!< PIN4 (Bit 4)                                          */
#define GPIOx_IDR_PIN4_Msk                (0x10UL)                  /*!< PIN4 (Bitfield-Mask: 0x01)                            */
#define GPIOx_IDR_PIN3_Pos                (3UL)                     /*!< PIN3 (Bit 3)                                          */
#define GPIOx_IDR_PIN3_Msk                (0x8UL)                   /*!< PIN3 (Bitfield-Mask: 0x01)                            */
#define GPIOx_IDR_PIN2_Pos                (2UL)                     /*!< PIN2 (Bit 2)                                          */
#define GPIOx_IDR_PIN2_Msk                (0x4UL)                   /*!< PIN2 (Bitfield-Mask: 0x01)                            */
#define GPIOx_IDR_PIN1_Pos                (1UL)                     /*!< PIN1 (Bit 1)                                          */
#define GPIOx_IDR_PIN1_Msk                (0x2UL)                   /*!< PIN1 (Bitfield-Mask: 0x01)                            */
#define GPIOx_IDR_PIN0_Pos                (0UL)                     /*!< PIN0 (Bit 0)                                          */
#define GPIOx_IDR_PIN0_Msk                (0x1UL)                   /*!< PIN0 (Bitfield-Mask: 0x01)                            */
/* ==========================================================  ODR  ========================================================== */
#define GPIOx_ODR_PIN8_Pos                 (8UL)                     /*!< PIN8 (Bit 8)                                          */
#define GPIOx_ODR_PIN8_Msk                 (0x100UL)                 /*!< PIN8 (Bitfield-Mask: 0x01)                            */
#define GPIOx_ODR_PIN7_Pos                (7UL)                     /*!< PIN7 (Bit 7)                                          */
#define GPIOx_ODR_PIN7_Msk                (0x80UL)                  /*!< PIN7 (Bitfield-Mask: 0x01)                            */
#define GPIOx_ODR_PIN6_Pos                (6UL)                     /*!< PIN6 (Bit 6)                                          */
#define GPIOx_ODR_PIN6_Msk                (0x40UL)                  /*!< PIN6 (Bitfield-Mask: 0x01)                            */
#define GPIOx_ODR_PIN5_Pos                (5UL)                     /*!< PIN5 (Bit 5)                                          */
#define GPIOx_ODR_PIN5_Msk                (0x20UL)                  /*!< PIN5 (Bitfield-Mask: 0x01)                            */
#define GPIOx_ODR_PIN4_Pos                (4UL)                     /*!< PIN4 (Bit 4)                                          */
#define GPIOx_ODR_PIN4_Msk                (0x10UL)                  /*!< PIN4 (Bitfield-Mask: 0x01)                            */
#define GPIOx_ODR_PIN3_Pos                (3UL)                     /*!< PIN3 (Bit 3)                                          */
#define GPIOx_ODR_PIN3_Msk                (0x8UL)                   /*!< PIN3 (Bitfield-Mask: 0x01)                            */
#define GPIOx_ODR_PIN2_Pos                (2UL)                     /*!< PIN2 (Bit 2)                                          */
#define GPIOx_ODR_PIN2_Msk                (0x4UL)                   /*!< PIN2 (Bitfield-Mask: 0x01)                            */
#define GPIOx_ODR_PIN1_Pos                (1UL)                     /*!< PIN1 (Bit 1)                                          */
#define GPIOx_ODR_PIN1_Msk                (0x2UL)                   /*!< PIN1 (Bitfield-Mask: 0x01)                            */
#define GPIOx_ODR_PIN0_Pos                (0UL)                     /*!< PIN0 (Bit 0)                                          */
#define GPIOx_ODR_PIN0_Msk                (0x1UL)                   /*!< PIN0 (Bitfield-Mask: 0x01)                            */
/* ==========================================================  BRR  ========================================================== */
#define GPIOx_BRR_BRR8_Pos                (8UL)                     /*!< BRR8 (Bit 8)                                          */
#define GPIOx_BRR_BRR8_Msk                (0x100UL)                 /*!< BRR8 (Bitfield-Mask: 0x01)                            */
#define GPIOx_BRR_BRR7_Pos                (7UL)                     /*!< BRR7 (Bit 7)                                          */
#define GPIOx_BRR_BRR7_Msk                (0x80UL)                  /*!< BRR7 (Bitfield-Mask: 0x01)                            */
#define GPIOx_BRR_BRR6_Pos                (6UL)                     /*!< BRR6 (Bit 6)                                          */
#define GPIOx_BRR_BRR6_Msk                (0x40UL)                  /*!< BRR6 (Bitfield-Mask: 0x01)                            */
#define GPIOx_BRR_BRR5_Pos                (5UL)                     /*!< BRR5 (Bit 5)                                          */
#define GPIOx_BRR_BRR5_Msk                (0x20UL)                  /*!< BRR5 (Bitfield-Mask: 0x01)                            */
#define GPIOx_BRR_BRR4_Pos                (4UL)                     /*!< BRR4 (Bit 4)                                          */
#define GPIOx_BRR_BRR4_Msk                (0x10UL)                  /*!< BRR4 (Bitfield-Mask: 0x01)                            */
#define GPIOx_BRR_BRR3_Pos                (3UL)                     /*!< BRR3 (Bit 3)                                          */
#define GPIOx_BRR_BRR3_Msk                (0x8UL)                   /*!< BRR3 (Bitfield-Mask: 0x01)                            */
#define GPIOx_BRR_BRR2_Pos                (2UL)                     /*!< BRR2 (Bit 2)                                          */
#define GPIOx_BRR_BRR2_Msk                (0x4UL)                   /*!< BRR2 (Bitfield-Mask: 0x01)                            */
#define GPIOx_BRR_BRR1_Pos                (1UL)                     /*!< BRR1 (Bit 1)                                          */
#define GPIOx_BRR_BRR1_Msk                (0x2UL)                   /*!< BRR1 (Bitfield-Mask: 0x01)                            */
#define GPIOx_BRR_BRR0_Pos                (0UL)                     /*!< BRR0 (Bit 0)                                          */
#define GPIOx_BRR_BRR0_Msk                (0x1UL)                   /*!< BRR0 (Bitfield-Mask: 0x01)                            */
/* =========================================================  BSRR  ========================================================== */
#define GPIOx_BSRR_BRR8_Pos               (24UL)                    /*!< BRR8 (Bit 24)                                         */
#define GPIOx_BSRR_BRR8_Msk               (0x1000000UL)             /*!< BRR8 (Bitfield-Mask: 0x01)                            */
#define GPIOx_BSRR_BRR7_Pos               (23UL)                    /*!< BRR7 (Bit 23)                                         */
#define GPIOx_BSRR_BRR7_Msk               (0x800000UL)              /*!< BRR7 (Bitfield-Mask: 0x01)                            */
#define GPIOx_BSRR_BRR6_Pos               (22UL)                    /*!< BRR6 (Bit 22)                                         */
#define GPIOx_BSRR_BRR6_Msk               (0x400000UL)              /*!< BRR6 (Bitfield-Mask: 0x01)                            */
#define GPIOx_BSRR_BRR5_Pos               (21UL)                    /*!< BRR5 (Bit 21)                                         */
#define GPIOx_BSRR_BRR5_Msk               (0x200000UL)              /*!< BRR5 (Bitfield-Mask: 0x01)                            */
#define GPIOx_BSRR_BRR4_Pos               (20UL)                    /*!< BRR4 (Bit 20)                                         */
#define GPIOx_BSRR_BRR4_Msk               (0x100000UL)              /*!< BRR4 (Bitfield-Mask: 0x01)                            */
#define GPIOx_BSRR_BRR3_Pos               (19UL)                    /*!< BRR3 (Bit 19)                                         */
#define GPIOx_BSRR_BRR3_Msk               (0x80000UL)               /*!< BRR3 (Bitfield-Mask: 0x01)                            */
#define GPIOx_BSRR_BRR2_Pos               (18UL)                    /*!< BRR2 (Bit 18)                                         */
#define GPIOx_BSRR_BRR2_Msk               (0x40000UL)               /*!< BRR2 (Bitfield-Mask: 0x01)                            */
#define GPIOx_BSRR_BRR1_Pos               (17UL)                    /*!< BRR1 (Bit 17)                                         */
#define GPIOx_BSRR_BRR1_Msk               (0x20000UL)               /*!< BRR1 (Bitfield-Mask: 0x01)                            */
#define GPIOx_BSRR_BRR0_Pos               (16UL)                    /*!< BRR0 (Bit 16)                                         */
#define GPIOx_BSRR_BRR0_Msk               (0x10000UL)               /*!< BRR0 (Bitfield-Mask: 0x01)                            */
#define GPIOx_BSRR_BSS8_Pos               (8UL)                     /*!< BSS8 (Bit 8)                                          */
#define GPIOx_BSRR_BSS8_Msk               (0x100UL)                 /*!< BSS8 (Bitfield-Mask: 0x01)                            */
#define GPIOx_BSRR_BSS7_Pos               (7UL)                     /*!< BSS7 (Bit 7)                                          */
#define GPIOx_BSRR_BSS7_Msk               (0x80UL)                  /*!< BSS7 (Bitfield-Mask: 0x01)                            */
#define GPIOx_BSRR_BSS6_Pos               (6UL)                     /*!< BSS6 (Bit 6)                                          */
#define GPIOx_BSRR_BSS6_Msk               (0x40UL)                  /*!< BSS6 (Bitfield-Mask: 0x01)                            */
#define GPIOx_BSRR_BSS5_Pos               (5UL)                     /*!< BSS5 (Bit 5)                                          */
#define GPIOx_BSRR_BSS5_Msk               (0x20UL)                  /*!< BSS5 (Bitfield-Mask: 0x01)                            */
#define GPIOx_BSRR_BSS4_Pos               (4UL)                     /*!< BSS4 (Bit 4)                                          */
#define GPIOx_BSRR_BSS4_Msk               (0x10UL)                  /*!< BSS4 (Bitfield-Mask: 0x01)                            */
#define GPIOx_BSRR_BSS3_Pos               (3UL)                     /*!< BSS3 (Bit 3)                                          */
#define GPIOx_BSRR_BSS3_Msk               (0x8UL)                   /*!< BSS3 (Bitfield-Mask: 0x01)                            */
#define GPIOx_BSRR_BSS2_Pos               (2UL)                     /*!< BSS2 (Bit 2)                                          */
#define GPIOx_BSRR_BSS2_Msk               (0x4UL)                   /*!< BSS2 (Bitfield-Mask: 0x01)                            */
#define GPIOx_BSRR_BSS1_Pos               (1UL)                     /*!< BSS1 (Bit 1)                                          */
#define GPIOx_BSRR_BSS1_Msk               (0x2UL)                   /*!< BSS1 (Bitfield-Mask: 0x01)                            */
#define GPIOx_BSRR_BSS0_Pos               (0UL)                     /*!< BSS0 (Bit 0)                                          */
#define GPIOx_BSRR_BSS0_Msk               (0x1UL)                   /*!< BSS0 (Bitfield-Mask: 0x01)                            */
/* ==========================================================  TOG  ========================================================== */
#define GPIOx_TOG_PIN8_Pos                (8UL)                     /*!< PIN8 (Bit 8)                                          */
#define GPIOx_TOG_PIN8_Msk                (0x100UL)                 /*!< PIN8 (Bitfield-Mask: 0x01)                            */
#define GPIOx_TOG_PIN7_Pos                (7UL)                     /*!< PIN7 (Bit 7)                                          */
#define GPIOx_TOG_PIN7_Msk                (0x80UL)                  /*!< PIN7 (Bitfield-Mask: 0x01)                            */
#define GPIOx_TOG_PIN6_Pos                (6UL)                     /*!< PIN6 (Bit 6)                                          */
#define GPIOx_TOG_PIN6_Msk                (0x40UL)                  /*!< PIN6 (Bitfield-Mask: 0x01)                            */
#define GPIOx_TOG_PIN5_Pos                (5UL)                     /*!< PIN5 (Bit 5)                                          */
#define GPIOx_TOG_PIN5_Msk                (0x20UL)                  /*!< PIN5 (Bitfield-Mask: 0x01)                            */
#define GPIOx_TOG_PIN4_Pos                (4UL)                     /*!< PIN4 (Bit 4)                                          */
#define GPIOx_TOG_PIN4_Msk                (0x10UL)                  /*!< PIN4 (Bitfield-Mask: 0x01)                            */
#define GPIOx_TOG_PIN3_Pos                (3UL)                     /*!< PIN3 (Bit 3)                                          */
#define GPIOx_TOG_PIN3_Msk                (0x8UL)                   /*!< PIN3 (Bitfield-Mask: 0x01)                            */
#define GPIOx_TOG_PIN2_Pos                (2UL)                     /*!< PIN2 (Bit 2)                                          */
#define GPIOx_TOG_PIN2_Msk                (0x4UL)                   /*!< PIN2 (Bitfield-Mask: 0x01)                            */
#define GPIOx_TOG_PIN1_Pos                (1UL)                     /*!< PIN1 (Bit 1)                                          */
#define GPIOx_TOG_PIN1_Msk                (0x2UL)                   /*!< PIN1 (Bitfield-Mask: 0x01)                            */
#define GPIOx_TOG_PIN0_Pos                (0UL)                     /*!< PIN0 (Bit 0)                                          */
#define GPIOx_TOG_PIN0_Msk                (0x1UL)                   /*!< PIN0 (Bitfield-Mask: 0x01)                            */


/* =========================================================================================================================== */
/* ================                                           GTIM                                            ================ */
/* =========================================================================================================================== */

/* ==========================================================  CR1  ========================================================== */
#define GTIMx_CR1_UIFREMAP_Pos            (11UL)                    /*!< UIFREMAP (Bit 11)                                     */
#define GTIMx_CR1_UIFREMAP_Msk            (0x800UL)                 /*!< UIFREMAP (Bitfield-Mask: 0x01)                        */
#define GTIMx_CR1_CKD_Pos                 (8UL)                     /*!< CKD (Bit 8)                                           */
#define GTIMx_CR1_CKD_Msk                 (0x300UL)                 /*!< CKD (Bitfield-Mask: 0x03)                             */
#define GTIMx_CR1_ARPE_Pos                (7UL)                     /*!< ARPE (Bit 7)                                          */
#define GTIMx_CR1_ARPE_Msk                (0x80UL)                  /*!< ARPE (Bitfield-Mask: 0x01)                            */
#define GTIMx_CR1_CMS_Pos                 (5UL)                     /*!< CMS (Bit 5)                                           */
#define GTIMx_CR1_CMS_Msk                 (0x60UL)                  /*!< CMS (Bitfield-Mask: 0x03)                             */
#define GTIMx_CR1_DIR_Pos                 (4UL)                     /*!< DIR (Bit 4)                                           */
#define GTIMx_CR1_DIR_Msk                 (0x10UL)                  /*!< DIR (Bitfield-Mask: 0x01)                             */
#define GTIMx_CR1_OPM_Pos                 (3UL)                     /*!< OPM (Bit 3)                                           */
#define GTIMx_CR1_OPM_Msk                 (0x8UL)                   /*!< OPM (Bitfield-Mask: 0x01)                             */
#define GTIMx_CR1_URS_Pos                 (2UL)                     /*!< URS (Bit 2)                                           */
#define GTIMx_CR1_URS_Msk                 (0x4UL)                   /*!< URS (Bitfield-Mask: 0x01)                             */
#define GTIMx_CR1_UDIS_Pos                (1UL)                     /*!< UDIS (Bit 1)                                          */
#define GTIMx_CR1_UDIS_Msk                (0x2UL)                   /*!< UDIS (Bitfield-Mask: 0x01)                            */
#define GTIMx_CR1_CEN_Pos                 (0UL)                     /*!< CEN (Bit 0)                                           */
#define GTIMx_CR1_CEN_Msk                 (0x1UL)                   /*!< CEN (Bitfield-Mask: 0x01)                             */
/* ==========================================================  CR2  ========================================================== */
#define GTIMx_CR2_MMSH_Pos                (25UL)                    /*!< MMSH (Bit 25)                                         */
#define GTIMx_CR2_MMSH_Msk                (0x6000000UL)             /*!< MMSH (Bitfield-Mask: 0x03)                            */
#define GTIMx_CR2_TI1S_Pos                (7UL)                     /*!< TI1S (Bit 7)                                          */
#define GTIMx_CR2_TI1S_Msk                (0x80UL)                  /*!< TI1S (Bitfield-Mask: 0x01)                            */
#define GTIMx_CR2_MMS_Pos                 (4UL)                     /*!< MMS (Bit 4)                                           */
#define GTIMx_CR2_MMS_Msk                 (0x70UL)                  /*!< MMS (Bitfield-Mask: 0x07)                             */
/* =========================================================  SMCR  ========================================================== */
#define GTIMx_SMCR_SMSPS_Pos              (25UL)                    /*!< SMSPS (Bit 25)                                        */
#define GTIMx_SMCR_SMSPS_Msk              (0x2000000UL)             /*!< SMSPS (Bitfield-Mask: 0x01)                           */
#define GTIMx_SMCR_SMSPE_Pos              (24UL)                    /*!< SMSPE (Bit 24)                                        */
#define GTIMx_SMCR_SMSPE_Msk              (0x1000000UL)             /*!< SMSPE (Bitfield-Mask: 0x01)                           */
#define GTIMx_SMCR_TSH_Pos                (20UL)                    /*!< TSH (Bit 20)                                          */
#define GTIMx_SMCR_TSH_Msk                (0x300000UL)              /*!< TSH (Bitfield-Mask: 0x03)                             */
#define GTIMx_SMCR_SMSH_Pos               (16UL)                    /*!< SMSH (Bit 16)                                         */
#define GTIMx_SMCR_SMSH_Msk               (0x10000UL)               /*!< SMSH (Bitfield-Mask: 0x01)                            */
#define GTIMx_SMCR_ETP_Pos                (15UL)                    /*!< ETP (Bit 15)                                          */
#define GTIMx_SMCR_ETP_Msk                (0x8000UL)                /*!< ETP (Bitfield-Mask: 0x01)                             */
#define GTIMx_SMCR_ECE_Pos                (14UL)                    /*!< ECE (Bit 14)                                          */
#define GTIMx_SMCR_ECE_Msk                (0x4000UL)                /*!< ECE (Bitfield-Mask: 0x01)                             */
#define GTIMx_SMCR_ETPS_Pos               (12UL)                    /*!< ETPS (Bit 12)                                         */
#define GTIMx_SMCR_ETPS_Msk               (0x3000UL)                /*!< ETPS (Bitfield-Mask: 0x03)                            */
#define GTIMx_SMCR_ETF_Pos                (8UL)                     /*!< ETF (Bit 8)                                           */
#define GTIMx_SMCR_ETF_Msk                (0xf00UL)                 /*!< ETF (Bitfield-Mask: 0x0f)                             */
#define GTIMx_SMCR_MSM_Pos                (7UL)                     /*!< MSM (Bit 7)                                           */
#define GTIMx_SMCR_MSM_Msk                (0x80UL)                  /*!< MSM (Bitfield-Mask: 0x01)                             */
#define GTIMx_SMCR_TS_Pos                 (4UL)                     /*!< TS (Bit 4)                                            */
#define GTIMx_SMCR_TS_Msk                 (0x70UL)                  /*!< TS (Bitfield-Mask: 0x07)                              */
#define GTIMx_SMCR_OCCS_Pos               (3UL)                     /*!< OCCS (Bit 3)                                          */
#define GTIMx_SMCR_OCCS_Msk               (0x8UL)                   /*!< OCCS (Bitfield-Mask: 0x01)                            */
#define GTIMx_SMCR_SMS_Pos                (0UL)                     /*!< SMS (Bit 0)                                           */
#define GTIMx_SMCR_SMS_Msk                (0x7UL)                   /*!< SMS (Bitfield-Mask: 0x07)                             */
/* ==========================================================  IER  ========================================================== */
#define GTIMx_IER_TERRIE_Pos              (23UL)                    /*!< TERRIE (Bit 23)                                       */
#define GTIMx_IER_TERRIE_Msk              (0x800000UL)              /*!< TERRIE (Bitfield-Mask: 0x01)                          */
#define GTIMx_IER_IERRIE_Pos              (22UL)                    /*!< IERRIE (Bit 22)                                       */
#define GTIMx_IER_IERRIE_Msk              (0x400000UL)              /*!< IERRIE (Bitfield-Mask: 0x01)                          */
#define GTIMx_IER_DIRIE_Pos               (21UL)                    /*!< DIRIE (Bit 21)                                        */
#define GTIMx_IER_DIRIE_Msk               (0x200000UL)              /*!< DIRIE (Bitfield-Mask: 0x01)                           */
#define GTIMx_IER_IDXIE_Pos               (20UL)                    /*!< IDXIE (Bit 20)                                        */
#define GTIMx_IER_IDXIE_Msk               (0x100000UL)              /*!< IDXIE (Bitfield-Mask: 0x01)                           */
#define GTIMx_IER_TIE_Pos                 (6UL)                     /*!< TIE (Bit 6)                                           */
#define GTIMx_IER_TIE_Msk                 (0x40UL)                  /*!< TIE (Bitfield-Mask: 0x01)                             */
#define GTIMx_IER_CC4IE_Pos               (4UL)                     /*!< CC4IE (Bit 4)                                         */
#define GTIMx_IER_CC4IE_Msk               (0x10UL)                  /*!< CC4IE (Bitfield-Mask: 0x01)                           */
#define GTIMx_IER_CC3IE_Pos               (3UL)                     /*!< CC3IE (Bit 3)                                         */
#define GTIMx_IER_CC3IE_Msk               (0x8UL)                   /*!< CC3IE (Bitfield-Mask: 0x01)                           */
#define GTIMx_IER_CC2IE_Pos               (2UL)                     /*!< CC2IE (Bit 2)                                         */
#define GTIMx_IER_CC2IE_Msk               (0x4UL)                   /*!< CC2IE (Bitfield-Mask: 0x01)                           */
#define GTIMx_IER_CC1IE_Pos               (1UL)                     /*!< CC1IE (Bit 1)                                         */
#define GTIMx_IER_CC1IE_Msk               (0x2UL)                   /*!< CC1IE (Bitfield-Mask: 0x01)                           */
#define GTIMx_IER_UIE_Pos                 (0UL)                     /*!< UIE (Bit 0)                                           */
#define GTIMx_IER_UIE_Msk                 (0x1UL)                   /*!< UIE (Bitfield-Mask: 0x01)                             */
/* ==========================================================  ISR  ========================================================== */
#define GTIMx_ISR_TERRF_Pos               (23UL)                    /*!< TERRF (Bit 23)                                        */
#define GTIMx_ISR_TERRF_Msk               (0x800000UL)              /*!< TERRF (Bitfield-Mask: 0x01)                           */
#define GTIMx_ISR_IERRF_Pos               (22UL)                    /*!< IERRF (Bit 22)                                        */
#define GTIMx_ISR_IERRF_Msk               (0x400000UL)              /*!< IERRF (Bitfield-Mask: 0x01)                           */
#define GTIMx_ISR_DIRF_Pos                (21UL)                    /*!< DIRF (Bit 21)                                         */
#define GTIMx_ISR_DIRF_Msk                (0x200000UL)              /*!< DIRF (Bitfield-Mask: 0x01)                            */
#define GTIMx_ISR_IDXF_Pos                (20UL)                    /*!< IDXF (Bit 20)                                         */
#define GTIMx_ISR_IDXF_Msk                (0x100000UL)              /*!< IDXF (Bitfield-Mask: 0x01)                            */
#define GTIMx_ISR_CC4OF_Pos               (12UL)                    /*!< CC4OF (Bit 12)                                        */
#define GTIMx_ISR_CC4OF_Msk               (0x1000UL)                /*!< CC4OF (Bitfield-Mask: 0x01)                           */
#define GTIMx_ISR_CC3OF_Pos               (11UL)                    /*!< CC3OF (Bit 11)                                        */
#define GTIMx_ISR_CC3OF_Msk               (0x800UL)                 /*!< CC3OF (Bitfield-Mask: 0x01)                           */
#define GTIMx_ISR_CC2OF_Pos               (10UL)                    /*!< CC2OF (Bit 10)                                        */
#define GTIMx_ISR_CC2OF_Msk               (0x400UL)                 /*!< CC2OF (Bitfield-Mask: 0x01)                           */
#define GTIMx_ISR_CC1OF_Pos               (9UL)                     /*!< CC1OF (Bit 9)                                         */
#define GTIMx_ISR_CC1OF_Msk               (0x200UL)                 /*!< CC1OF (Bitfield-Mask: 0x01)                           */
#define GTIMx_ISR_TIF_Pos                 (6UL)                     /*!< TIF (Bit 6)                                           */
#define GTIMx_ISR_TIF_Msk                 (0x40UL)                  /*!< TIF (Bitfield-Mask: 0x01)                             */
#define GTIMx_ISR_CC4IF_Pos               (4UL)                     /*!< CC4IF (Bit 4)                                         */
#define GTIMx_ISR_CC4IF_Msk               (0x10UL)                  /*!< CC4IF (Bitfield-Mask: 0x01)                           */
#define GTIMx_ISR_CC3IF_Pos               (3UL)                     /*!< CC3IF (Bit 3)                                         */
#define GTIMx_ISR_CC3IF_Msk               (0x8UL)                   /*!< CC3IF (Bitfield-Mask: 0x01)                           */
#define GTIMx_ISR_CC2IF_Pos               (2UL)                     /*!< CC2IF (Bit 2)                                         */
#define GTIMx_ISR_CC2IF_Msk               (0x4UL)                   /*!< CC2IF (Bitfield-Mask: 0x01)                           */
#define GTIMx_ISR_CC1IF_Pos               (1UL)                     /*!< CC1IF (Bit 1)                                         */
#define GTIMx_ISR_CC1IF_Msk               (0x2UL)                   /*!< CC1IF (Bitfield-Mask: 0x01)                           */
#define GTIMx_ISR_UIF_Pos                 (0UL)                     /*!< UIF (Bit 0)                                           */
#define GTIMx_ISR_UIF_Msk                 (0x1UL)                   /*!< UIF (Bitfield-Mask: 0x01)                             */
/* ==========================================================  ICR  ========================================================== */
#define GTIMx_ICR_TERRF_Pos               (23UL)                    /*!< TERRF (Bit 23)                                        */
#define GTIMx_ICR_TERRF_Msk               (0x800000UL)              /*!< TERRF (Bitfield-Mask: 0x01)                           */
#define GTIMx_ICR_IERRF_Pos               (22UL)                    /*!< IERRF (Bit 22)                                        */
#define GTIMx_ICR_IERRF_Msk               (0x400000UL)              /*!< IERRF (Bitfield-Mask: 0x01)                           */
#define GTIMx_ICR_DIRF_Pos                (21UL)                    /*!< DIRF (Bit 21)                                         */
#define GTIMx_ICR_DIRF_Msk                (0x200000UL)              /*!< DIRF (Bitfield-Mask: 0x01)                            */
#define GTIMx_ICR_IDXF_Pos                (20UL)                    /*!< IDXF (Bit 20)                                         */
#define GTIMx_ICR_IDXF_Msk                (0x100000UL)              /*!< IDXF (Bitfield-Mask: 0x01)                            */
#define GTIMx_ICR_CC4OF_Pos               (12UL)                    /*!< CC4OF (Bit 12)                                        */
#define GTIMx_ICR_CC4OF_Msk               (0x1000UL)                /*!< CC4OF (Bitfield-Mask: 0x01)                           */
#define GTIMx_ICR_CC3OF_Pos               (11UL)                    /*!< CC3OF (Bit 11)                                        */
#define GTIMx_ICR_CC3OF_Msk               (0x800UL)                 /*!< CC3OF (Bitfield-Mask: 0x01)                           */
#define GTIMx_ICR_CC2OF_Pos               (10UL)                    /*!< CC2OF (Bit 10)                                        */
#define GTIMx_ICR_CC2OF_Msk               (0x400UL)                 /*!< CC2OF (Bitfield-Mask: 0x01)                           */
#define GTIMx_ICR_CC1OF_Pos               (9UL)                     /*!< CC1OF (Bit 9)                                         */
#define GTIMx_ICR_CC1OF_Msk               (0x200UL)                 /*!< CC1OF (Bitfield-Mask: 0x01)                           */
#define GTIMx_ICR_TIF_Pos                 (6UL)                     /*!< TIF (Bit 6)                                           */
#define GTIMx_ICR_TIF_Msk                 (0x40UL)                  /*!< TIF (Bitfield-Mask: 0x01)                             */
#define GTIMx_ICR_CC4IF_Pos               (4UL)                     /*!< CC4IF (Bit 4)                                         */
#define GTIMx_ICR_CC4IF_Msk               (0x10UL)                  /*!< CC4IF (Bitfield-Mask: 0x01)                           */
#define GTIMx_ICR_CC3IF_Pos               (3UL)                     /*!< CC3IF (Bit 3)                                         */
#define GTIMx_ICR_CC3IF_Msk               (0x8UL)                   /*!< CC3IF (Bitfield-Mask: 0x01)                           */
#define GTIMx_ICR_CC2IF_Pos               (2UL)                     /*!< CC2IF (Bit 2)                                         */
#define GTIMx_ICR_CC2IF_Msk               (0x4UL)                   /*!< CC2IF (Bitfield-Mask: 0x01)                           */
#define GTIMx_ICR_CC1IF_Pos               (1UL)                     /*!< CC1IF (Bit 1)                                         */
#define GTIMx_ICR_CC1IF_Msk               (0x2UL)                   /*!< CC1IF (Bitfield-Mask: 0x01)                           */
#define GTIMx_ICR_UIF_Pos                 (0UL)                     /*!< UIF (Bit 0)                                           */
#define GTIMx_ICR_UIF_Msk                 (0x1UL)                   /*!< UIF (Bitfield-Mask: 0x01)                             */
/* ==========================================================  EGR  ========================================================== */
#define GTIMx_EGR_TG_Pos                  (6UL)                     /*!< TG (Bit 6)                                            */
#define GTIMx_EGR_TG_Msk                  (0x40UL)                  /*!< TG (Bitfield-Mask: 0x01)                              */
#define GTIMx_EGR_CC4G_Pos                (4UL)                     /*!< CC4G (Bit 4)                                          */
#define GTIMx_EGR_CC4G_Msk                (0x10UL)                  /*!< CC4G (Bitfield-Mask: 0x01)                            */
#define GTIMx_EGR_CC3G_Pos                (3UL)                     /*!< CC3G (Bit 3)                                          */
#define GTIMx_EGR_CC3G_Msk                (0x8UL)                   /*!< CC3G (Bitfield-Mask: 0x01)                            */
#define GTIMx_EGR_CC2G_Pos                (2UL)                     /*!< CC2G (Bit 2)                                          */
#define GTIMx_EGR_CC2G_Msk                (0x4UL)                   /*!< CC2G (Bitfield-Mask: 0x01)                            */
#define GTIMx_EGR_CC1G_Pos                (1UL)                     /*!< CC1G (Bit 1)                                          */
#define GTIMx_EGR_CC1G_Msk                (0x2UL)                   /*!< CC1G (Bitfield-Mask: 0x01)                            */
#define GTIMx_EGR_UG_Pos                  (0UL)                     /*!< UG (Bit 0)                                            */
#define GTIMx_EGR_UG_Msk                  (0x1UL)                   /*!< UG (Bitfield-Mask: 0x01)                              */
/* =======================================================  CCMR1CAP  ======================================================== */
#define GTIMx_CCMR1CAP_IC2F_Pos           (12UL)                    /*!< IC2F (Bit 12)                                         */
#define GTIMx_CCMR1CAP_IC2F_Msk           (0xf000UL)                /*!< IC2F (Bitfield-Mask: 0x0f)                            */
#define GTIMx_CCMR1CAP_IC2PSC_Pos         (10UL)                    /*!< IC2PSC (Bit 10)                                       */
#define GTIMx_CCMR1CAP_IC2PSC_Msk         (0xc00UL)                 /*!< IC2PSC (Bitfield-Mask: 0x03)                          */
#define GTIMx_CCMR1CAP_CC2S_Pos           (8UL)                     /*!< CC2S (Bit 8)                                          */
#define GTIMx_CCMR1CAP_CC2S_Msk           (0x300UL)                 /*!< CC2S (Bitfield-Mask: 0x03)                            */
#define GTIMx_CCMR1CAP_IC1F_Pos           (4UL)                     /*!< IC1F (Bit 4)                                          */
#define GTIMx_CCMR1CAP_IC1F_Msk           (0xf0UL)                  /*!< IC1F (Bitfield-Mask: 0x0f)                            */
#define GTIMx_CCMR1CAP_IC1PSC_Pos         (2UL)                     /*!< IC1PSC (Bit 2)                                        */
#define GTIMx_CCMR1CAP_IC1PSC_Msk         (0xcUL)                   /*!< IC1PSC (Bitfield-Mask: 0x03)                          */
#define GTIMx_CCMR1CAP_CC1S_Pos           (0UL)                     /*!< CC1S (Bit 0)                                          */
#define GTIMx_CCMR1CAP_CC1S_Msk           (0x3UL)                   /*!< CC1S (Bitfield-Mask: 0x03)                            */
/* =======================================================  CCMR1CMP  ======================================================== */
#define GTIMx_CCMR1CMP_OC2MH_Pos          (24UL)                    /*!< OC2MH (Bit 24)                                        */
#define GTIMx_CCMR1CMP_OC2MH_Msk          (0x1000000UL)             /*!< OC2MH (Bitfield-Mask: 0x01)                           */
#define GTIMx_CCMR1CMP_OC1MH_Pos          (16UL)                    /*!< OC1MH (Bit 16)                                        */
#define GTIMx_CCMR1CMP_OC1MH_Msk          (0x10000UL)               /*!< OC1MH (Bitfield-Mask: 0x01)                           */
#define GTIMx_CCMR1CMP_OC2CE_Pos          (15UL)                    /*!< OC2CE (Bit 15)                                        */
#define GTIMx_CCMR1CMP_OC2CE_Msk          (0x8000UL)                /*!< OC2CE (Bitfield-Mask: 0x01)                           */
#define GTIMx_CCMR1CMP_OC2M_Pos           (12UL)                    /*!< OC2M (Bit 12)                                         */
#define GTIMx_CCMR1CMP_OC2M_Msk           (0x7000UL)                /*!< OC2M (Bitfield-Mask: 0x07)                            */
#define GTIMx_CCMR1CMP_OC2PE_Pos          (11UL)                    /*!< OC2PE (Bit 11)                                        */
#define GTIMx_CCMR1CMP_OC2PE_Msk          (0x800UL)                 /*!< OC2PE (Bitfield-Mask: 0x01)                           */
#define GTIMx_CCMR1CMP_OC2FE_Pos          (10UL)                    /*!< OC2FE (Bit 10)                                        */
#define GTIMx_CCMR1CMP_OC2FE_Msk          (0x400UL)                 /*!< OC2FE (Bitfield-Mask: 0x01)                           */
#define GTIMx_CCMR1CMP_CC2S_Pos           (8UL)                     /*!< CC2S (Bit 8)                                          */
#define GTIMx_CCMR1CMP_CC2S_Msk           (0x300UL)                 /*!< CC2S (Bitfield-Mask: 0x03)                            */
#define GTIMx_CCMR1CMP_OC1CE_Pos          (7UL)                     /*!< OC1CE (Bit 7)                                         */
#define GTIMx_CCMR1CMP_OC1CE_Msk          (0x80UL)                  /*!< OC1CE (Bitfield-Mask: 0x01)                           */
#define GTIMx_CCMR1CMP_OC1M_Pos           (4UL)                     /*!< OC1M (Bit 4)                                          */
#define GTIMx_CCMR1CMP_OC1M_Msk           (0x70UL)                  /*!< OC1M (Bitfield-Mask: 0x07)                            */
#define GTIMx_CCMR1CMP_OC1PE_Pos          (3UL)                     /*!< OC1PE (Bit 3)                                         */
#define GTIMx_CCMR1CMP_OC1PE_Msk          (0x8UL)                   /*!< OC1PE (Bitfield-Mask: 0x01)                           */
#define GTIMx_CCMR1CMP_OC1FE_Pos          (2UL)                     /*!< OC1FE (Bit 2)                                         */
#define GTIMx_CCMR1CMP_OC1FE_Msk          (0x4UL)                   /*!< OC1FE (Bitfield-Mask: 0x01)                           */
#define GTIMx_CCMR1CMP_CC1S_Pos           (0UL)                     /*!< CC1S (Bit 0)                                          */
#define GTIMx_CCMR1CMP_CC1S_Msk           (0x3UL)                   /*!< CC1S (Bitfield-Mask: 0x03)                            */
/* =======================================================  CCMR2CAP  ======================================================== */
#define GTIMx_CCMR2CAP_IC4F_Pos           (12UL)                    /*!< IC4F (Bit 12)                                         */
#define GTIMx_CCMR2CAP_IC4F_Msk           (0xf000UL)                /*!< IC4F (Bitfield-Mask: 0x0f)                            */
#define GTIMx_CCMR2CAP_IC4PSC_Pos         (10UL)                    /*!< IC4PSC (Bit 10)                                       */
#define GTIMx_CCMR2CAP_IC4PSC_Msk         (0xc00UL)                 /*!< IC4PSC (Bitfield-Mask: 0x03)                          */
#define GTIMx_CCMR2CAP_CC4S_Pos           (8UL)                     /*!< CC4S (Bit 8)                                          */
#define GTIMx_CCMR2CAP_CC4S_Msk           (0x300UL)                 /*!< CC4S (Bitfield-Mask: 0x03)                            */
#define GTIMx_CCMR2CAP_IC3F_Pos           (4UL)                     /*!< IC3F (Bit 4)                                          */
#define GTIMx_CCMR2CAP_IC3F_Msk           (0xf0UL)                  /*!< IC3F (Bitfield-Mask: 0x0f)                            */
#define GTIMx_CCMR2CAP_IC3PSC_Pos         (2UL)                     /*!< IC3PSC (Bit 2)                                        */
#define GTIMx_CCMR2CAP_IC3PSC_Msk         (0xcUL)                   /*!< IC3PSC (Bitfield-Mask: 0x03)                          */
#define GTIMx_CCMR2CAP_CC3S_Pos           (0UL)                     /*!< CC3S (Bit 0)                                          */
#define GTIMx_CCMR2CAP_CC3S_Msk           (0x3UL)                   /*!< CC3S (Bitfield-Mask: 0x03)                            */
/* =======================================================  CCMR2CMP  ======================================================== */
#define GTIMx_CCMR2CMP_OC4MH_Pos          (24UL)                    /*!< OC4MH (Bit 24)                                        */
#define GTIMx_CCMR2CMP_OC4MH_Msk          (0x1000000UL)             /*!< OC4MH (Bitfield-Mask: 0x01)                           */
#define GTIMx_CCMR2CMP_OC3MH_Pos          (16UL)                    /*!< OC3MH (Bit 16)                                        */
#define GTIMx_CCMR2CMP_OC3MH_Msk          (0x10000UL)               /*!< OC3MH (Bitfield-Mask: 0x01)                           */
#define GTIMx_CCMR2CMP_OC4CE_Pos          (15UL)                    /*!< OC4CE (Bit 15)                                        */
#define GTIMx_CCMR2CMP_OC4CE_Msk          (0x8000UL)                /*!< OC4CE (Bitfield-Mask: 0x01)                           */
#define GTIMx_CCMR2CMP_OC4M_Pos           (12UL)                    /*!< OC4M (Bit 12)                                         */
#define GTIMx_CCMR2CMP_OC4M_Msk           (0x7000UL)                /*!< OC4M (Bitfield-Mask: 0x07)                            */
#define GTIMx_CCMR2CMP_OC4PE_Pos          (11UL)                    /*!< OC4PE (Bit 11)                                        */
#define GTIMx_CCMR2CMP_OC4PE_Msk          (0x800UL)                 /*!< OC4PE (Bitfield-Mask: 0x01)                           */
#define GTIMx_CCMR2CMP_OC4FE_Pos          (10UL)                    /*!< OC4FE (Bit 10)                                        */
#define GTIMx_CCMR2CMP_OC4FE_Msk          (0x400UL)                 /*!< OC4FE (Bitfield-Mask: 0x01)                           */
#define GTIMx_CCMR2CMP_CC4S_Pos           (8UL)                     /*!< CC4S (Bit 8)                                          */
#define GTIMx_CCMR2CMP_CC4S_Msk           (0x300UL)                 /*!< CC4S (Bitfield-Mask: 0x03)                            */
#define GTIMx_CCMR2CMP_OC3CE_Pos          (7UL)                     /*!< OC3CE (Bit 7)                                         */
#define GTIMx_CCMR2CMP_OC3CE_Msk          (0x80UL)                  /*!< OC3CE (Bitfield-Mask: 0x01)                           */
#define GTIMx_CCMR2CMP_OC3M_Pos           (4UL)                     /*!< OC3M (Bit 4)                                          */
#define GTIMx_CCMR2CMP_OC3M_Msk           (0x70UL)                  /*!< OC3M (Bitfield-Mask: 0x07)                            */
#define GTIMx_CCMR2CMP_OC3PE_Pos          (3UL)                     /*!< OC3PE (Bit 3)                                         */
#define GTIMx_CCMR2CMP_OC3PE_Msk          (0x8UL)                   /*!< OC3PE (Bitfield-Mask: 0x01)                           */
#define GTIMx_CCMR2CMP_OC3FE_Pos          (2UL)                     /*!< OC3FE (Bit 2)                                         */
#define GTIMx_CCMR2CMP_OC3FE_Msk          (0x4UL)                   /*!< OC3FE (Bitfield-Mask: 0x01)                           */
#define GTIMx_CCMR2CMP_CC3S_Pos           (0UL)                     /*!< CC3S (Bit 0)                                          */
#define GTIMx_CCMR2CMP_CC3S_Msk           (0x3UL)                   /*!< CC3S (Bitfield-Mask: 0x03)                            */
/* =========================================================  CCER  ========================================================== */
#define GTIMx_CCER_CC4NP_Pos              (15UL)                    /*!< CC4NP (Bit 15)                                        */
#define GTIMx_CCER_CC4NP_Msk              (0x8000UL)                /*!< CC4NP (Bitfield-Mask: 0x01)                           */
#define GTIMx_CCER_CC4P_Pos               (13UL)                    /*!< CC4P (Bit 13)                                         */
#define GTIMx_CCER_CC4P_Msk               (0x2000UL)                /*!< CC4P (Bitfield-Mask: 0x01)                            */
#define GTIMx_CCER_CC4E_Pos               (12UL)                    /*!< CC4E (Bit 12)                                         */
#define GTIMx_CCER_CC4E_Msk               (0x1000UL)                /*!< CC4E (Bitfield-Mask: 0x01)                            */
#define GTIMx_CCER_CC3NP_Pos              (11UL)                    /*!< CC3NP (Bit 11)                                        */
#define GTIMx_CCER_CC3NP_Msk              (0x800UL)                 /*!< CC3NP (Bitfield-Mask: 0x01)                           */
#define GTIMx_CCER_CC3P_Pos               (9UL)                     /*!< CC3P (Bit 9)                                          */
#define GTIMx_CCER_CC3P_Msk               (0x200UL)                 /*!< CC3P (Bitfield-Mask: 0x01)                            */
#define GTIMx_CCER_CC3E_Pos               (8UL)                     /*!< CC3E (Bit 8)                                          */
#define GTIMx_CCER_CC3E_Msk               (0x100UL)                 /*!< CC3E (Bitfield-Mask: 0x01)                            */
#define GTIMx_CCER_CC2NP_Pos              (7UL)                     /*!< CC2NP (Bit 7)                                         */
#define GTIMx_CCER_CC2NP_Msk              (0x80UL)                  /*!< CC2NP (Bitfield-Mask: 0x01)                           */
#define GTIMx_CCER_CC2P_Pos               (5UL)                     /*!< CC2P (Bit 5)                                          */
#define GTIMx_CCER_CC2P_Msk               (0x20UL)                  /*!< CC2P (Bitfield-Mask: 0x01)                            */
#define GTIMx_CCER_CC2E_Pos               (4UL)                     /*!< CC2E (Bit 4)                                          */
#define GTIMx_CCER_CC2E_Msk               (0x10UL)                  /*!< CC2E (Bitfield-Mask: 0x01)                            */
#define GTIMx_CCER_CC1NP_Pos              (3UL)                     /*!< CC1NP (Bit 3)                                         */
#define GTIMx_CCER_CC1NP_Msk              (0x8UL)                   /*!< CC1NP (Bitfield-Mask: 0x01)                           */
#define GTIMx_CCER_CC1P_Pos               (1UL)                     /*!< CC1P (Bit 1)                                          */
#define GTIMx_CCER_CC1P_Msk               (0x2UL)                   /*!< CC1P (Bitfield-Mask: 0x01)                            */
#define GTIMx_CCER_CC1E_Pos               (0UL)                     /*!< CC1E (Bit 0)                                          */
#define GTIMx_CCER_CC1E_Msk               (0x1UL)                   /*!< CC1E (Bitfield-Mask: 0x01)                            */
/* ==========================================================  CNT  ========================================================== */
#define GTIMx_CNT_UIFCPY_Pos              (31UL)                    /*!< UIFCPY (Bit 31)                                       */
#define GTIMx_CNT_UIFCPY_Msk              (0x80000000UL)            /*!< UIFCPY (Bitfield-Mask: 0x01)                          */
#define GTIMx_CNT_CNT_Pos                 (0UL)                     /*!< CNT (Bit 0)                                           */
#define GTIMx_CNT_CNT_Msk                 (0xffffUL)                /*!< CNT (Bitfield-Mask: 0xffff)                           */
/* ==========================================================  PSC  ========================================================== */
#define GTIMx_PSC_PSC_Pos                 (0UL)                     /*!< PSC (Bit 0)                                           */
#define GTIMx_PSC_PSC_Msk                 (0xffffUL)                /*!< PSC (Bitfield-Mask: 0xffff)                           */
/* ==========================================================  ARR  ========================================================== */
#define GTIMx_ARR_ARR_Pos                 (0UL)                     /*!< ARR (Bit 0)                                           */
#define GTIMx_ARR_ARR_Msk                 (0xffffUL)                /*!< ARR (Bitfield-Mask: 0xffff)                           */
/* =========================================================  CCR1  ========================================================== */
#define GTIMx_CCR1_CCR1_Pos               (0UL)                     /*!< CCR1 (Bit 0)                                          */
#define GTIMx_CCR1_CCR1_Msk               (0xffffUL)                /*!< CCR1 (Bitfield-Mask: 0xffff)                          */
/* =========================================================  CCR2  ========================================================== */
#define GTIMx_CCR2_CCR2_Pos               (0UL)                     /*!< CCR2 (Bit 0)                                          */
#define GTIMx_CCR2_CCR2_Msk               (0xffffUL)                /*!< CCR2 (Bitfield-Mask: 0xffff)                          */
/* =========================================================  CCR3  ========================================================== */
#define GTIMx_CCR3_CCR3_Pos               (0UL)                     /*!< CCR3 (Bit 0)                                          */
#define GTIMx_CCR3_CCR3_Msk               (0xffffUL)                /*!< CCR3 (Bitfield-Mask: 0xffff)                          */
/* =========================================================  CCR4  ========================================================== */
#define GTIMx_CCR4_CCR4_Pos               (0UL)                     /*!< CCR4 (Bit 0)                                          */
#define GTIMx_CCR4_CCR4_Msk               (0xffffUL)                /*!< CCR4 (Bitfield-Mask: 0xffff)                          */
/* ==========================================================  ECR  ========================================================== */
#define GTIMx_ECR_IPOS_Pos                (6UL)                     /*!< IPOS (Bit 6)                                          */
#define GTIMx_ECR_IPOS_Msk                (0xc0UL)                  /*!< IPOS (Bitfield-Mask: 0x03)                            */
#define GTIMx_ECR_FIDX_Pos                (5UL)                     /*!< FIDX (Bit 5)                                          */
#define GTIMx_ECR_FIDX_Msk                (0x20UL)                  /*!< FIDX (Bitfield-Mask: 0x01)                            */
#define GTIMx_ECR_IDIR_Pos                (1UL)                     /*!< IDIR (Bit 1)                                          */
#define GTIMx_ECR_IDIR_Msk                (0x6UL)                   /*!< IDIR (Bitfield-Mask: 0x03)                            */
#define GTIMx_ECR_IE_Pos                  (0UL)                     /*!< IE (Bit 0)                                            */
#define GTIMx_ECR_IE_Msk                  (0x1UL)                   /*!< IE (Bitfield-Mask: 0x01)                              */
/* =========================================================  TISEL  ========================================================= */
#define GTIMx_TISEL_TI4SEL_Pos            (24UL)                    /*!< TI4SEL (Bit 24)                                       */
#define GTIMx_TISEL_TI4SEL_Msk            (0xf000000UL)             /*!< TI4SEL (Bitfield-Mask: 0x0f)                          */
#define GTIMx_TISEL_TI3SEL_Pos            (16UL)                    /*!< TI3SEL (Bit 16)                                       */
#define GTIMx_TISEL_TI3SEL_Msk            (0xf0000UL)               /*!< TI3SEL (Bitfield-Mask: 0x0f)                          */
#define GTIMx_TISEL_TI2SEL_Pos            (8UL)                     /*!< TI2SEL (Bit 8)                                        */
#define GTIMx_TISEL_TI2SEL_Msk            (0xf00UL)                 /*!< TI2SEL (Bitfield-Mask: 0x0f)                          */
#define GTIMx_TISEL_TI1SEL_Pos            (0UL)                     /*!< TI1SEL (Bit 0)                                        */
#define GTIMx_TISEL_TI1SEL_Msk            (0xfUL)                   /*!< TI1SEL (Bitfield-Mask: 0x0f)                          */
/* ==========================================================  AF1  ========================================================== */
#define GTIMx_AF1_ETRSEL_Pos              (14UL)                    /*!< ETRSEL (Bit 14)                                       */
#define GTIMx_AF1_ETRSEL_Msk              (0x3c000UL)               /*!< ETRSEL (Bitfield-Mask: 0x0f)                          */
/* ==========================================================  AF2  ========================================================== */
#define GTIMx_AF2_OCRSEL_Pos              (16UL)                    /*!< OCRSEL (Bit 16)                                       */
#define GTIMx_AF2_OCRSEL_Msk              (0x70000UL)               /*!< OCRSEL (Bitfield-Mask: 0x07)                          */


/* =========================================================================================================================== */
/* ================                                            I2C                                            ================ */
/* =========================================================================================================================== */

/* =========================================================  BRREN  ========================================================= */
#define I2Cx_BRREN_EN_Pos                 (0UL)                     /*!< EN (Bit 0)                                            */
#define I2Cx_BRREN_EN_Msk                 (0x1UL)                   /*!< EN (Bitfield-Mask: 0x01)                              */
/* ==========================================================  BRR  ========================================================== */
#define I2Cx_BRR_BRR_Pos                  (0UL)                     /*!< BRR (Bit 0)                                           */
#define I2Cx_BRR_BRR_Msk                  (0xffUL)                  /*!< BRR (Bitfield-Mask: 0xff)                             */
/* ==========================================================  CR  =========================================================== */
#define I2Cx_CR_SDAINSRC_Pos              (11UL)                    /*!< SDAINSRC (Bit 11)                                     */
#define I2Cx_CR_SDAINSRC_Msk              (0x3800UL)                /*!< SDAINSRC (Bitfield-Mask: 0x07)                        */
#define I2Cx_CR_SCLINSRC_Pos              (8UL)                     /*!< SCLINSRC (Bit 8)                                      */
#define I2Cx_CR_SCLINSRC_Msk              (0x700UL)                 /*!< SCLINSRC (Bitfield-Mask: 0x07)                        */
#define I2Cx_CR_EN_Pos                    (6UL)                     /*!< EN (Bit 6)                                            */
#define I2Cx_CR_EN_Msk                    (0x40UL)                  /*!< EN (Bitfield-Mask: 0x01)                              */
#define I2Cx_CR_STA_Pos                   (5UL)                     /*!< STA (Bit 5)                                           */
#define I2Cx_CR_STA_Msk                   (0x20UL)                  /*!< STA (Bitfield-Mask: 0x01)                             */
#define I2Cx_CR_STO_Pos                   (4UL)                     /*!< STO (Bit 4)                                           */
#define I2Cx_CR_STO_Msk                   (0x10UL)                  /*!< STO (Bitfield-Mask: 0x01)                             */
#define I2Cx_CR_SI_Pos                    (3UL)                     /*!< SI (Bit 3)                                            */
#define I2Cx_CR_SI_Msk                    (0x8UL)                   /*!< SI (Bitfield-Mask: 0x01)                              */
#define I2Cx_CR_AA_Pos                    (2UL)                     /*!< AA (Bit 2)                                            */
#define I2Cx_CR_AA_Msk                    (0x4UL)                   /*!< AA (Bitfield-Mask: 0x01)                              */
#define I2Cx_CR_FLT_Pos                   (0UL)                     /*!< FLT (Bit 0)                                           */
#define I2Cx_CR_FLT_Msk                   (0x1UL)                   /*!< FLT (Bitfield-Mask: 0x01)                             */
/* ==========================================================  DR  =========================================================== */
#define I2Cx_DR_DR_Pos                    (0UL)                     /*!< DR (Bit 0)                                            */
#define I2Cx_DR_DR_Msk                    (0xffUL)                  /*!< DR (Bitfield-Mask: 0xff)                              */
/* =========================================================  ADDR0  ========================================================= */
#define I2Cx_ADDR0_ADDR0_Pos              (1UL)                     /*!< ADDR0 (Bit 1)                                         */
#define I2Cx_ADDR0_ADDR0_Msk              (0xfeUL)                  /*!< ADDR0 (Bitfield-Mask: 0x7f)                           */
#define I2Cx_ADDR0_GC_Pos                 (0UL)                     /*!< GC (Bit 0)                                            */
#define I2Cx_ADDR0_GC_Msk                 (0x1UL)                   /*!< GC (Bitfield-Mask: 0x01)                              */
/* =========================================================  STAT  ========================================================== */
#define I2Cx_STAT_STAT_Pos                (0UL)                     /*!< STAT (Bit 0)                                          */
#define I2Cx_STAT_STAT_Msk                (0xffUL)                  /*!< STAT (Bitfield-Mask: 0xff)                            */
/* =========================================================  ADDR1  ========================================================= */
#define I2Cx_ADDR1_ADDR1_Pos              (1UL)                     /*!< ADDR1 (Bit 1)                                         */
#define I2Cx_ADDR1_ADDR1_Msk              (0xfeUL)                  /*!< ADDR1 (Bitfield-Mask: 0x7f)                           */
/* =========================================================  ADDR2  ========================================================= */
#define I2Cx_ADDR2_ADDR2_Pos              (1UL)                     /*!< ADDR2 (Bit 1)                                         */
#define I2Cx_ADDR2_ADDR2_Msk              (0xfeUL)                  /*!< ADDR2 (Bitfield-Mask: 0x7f)                           */
/* =========================================================  MATCH  ========================================================= */
#define I2Cx_MATCH_ADDR2_Pos              (2UL)                     /*!< ADDR2 (Bit 2)                                         */
#define I2Cx_MATCH_ADDR2_Msk              (0x4UL)                   /*!< ADDR2 (Bitfield-Mask: 0x01)                           */
#define I2Cx_MATCH_ADDR1_Pos              (1UL)                     /*!< ADDR1 (Bit 1)                                         */
#define I2Cx_MATCH_ADDR1_Msk              (0x2UL)                   /*!< ADDR1 (Bitfield-Mask: 0x01)                           */
#define I2Cx_MATCH_ADDR0_Pos              (0UL)                     /*!< ADDR0 (Bit 0)                                         */
#define I2Cx_MATCH_ADDR0_Msk              (0x1UL)                   /*!< ADDR0 (Bitfield-Mask: 0x01)                           */


/* =========================================================================================================================== */
/* ================                                           IRMOD                                           ================ */
/* =========================================================================================================================== */

/* ==========================================================  CR  =========================================================== */
#define IRMOD_CR_INV_Pos                  (5UL)                     /*!< INV (Bit 5)                                           */
#define IRMOD_CR_INV_Msk                  (0x20UL)                  /*!< INV (Bitfield-Mask: 0x01)                             */
#define IRMOD_CR_IRSW_Pos                 (4UL)                     /*!< IRSW (Bit 4)                                          */
#define IRMOD_CR_IRSW_Msk                 (0x10UL)                  /*!< IRSW (Bitfield-Mask: 0x01)                            */
#define IRMOD_CR_MOD_Pos                  (0UL)                     /*!< MOD (Bit 0)                                           */
#define IRMOD_CR_MOD_Msk                  (0xfUL)                   /*!< MOD (Bitfield-Mask: 0x0f)                             */


/* =========================================================================================================================== */
/* ================                                           IWDT                                            ================ */
/* =========================================================================================================================== */

/* ==========================================================  KR  =========================================================== */
#define IWDT_KR_KR_Pos                    (0UL)                     /*!< KR (Bit 0)                                            */
#define IWDT_KR_KR_Msk                    (0xffffUL)                /*!< KR (Bitfield-Mask: 0xffff)                            */
/* ==========================================================  CR  =========================================================== */
#define IWDT_CR_PAUSE_Pos                 (5UL)                     /*!< PAUSE (Bit 5)                                         */
#define IWDT_CR_PAUSE_Msk                 (0x20UL)                  /*!< PAUSE (Bitfield-Mask: 0x01)                           */
#define IWDT_CR_IE_Pos                    (4UL)                     /*!< IE (Bit 4)                                            */
#define IWDT_CR_IE_Msk                    (0x10UL)                  /*!< IE (Bitfield-Mask: 0x01)                              */
#define IWDT_CR_ACTION_Pos                (3UL)                     /*!< ACTION (Bit 3)                                        */
#define IWDT_CR_ACTION_Msk                (0x8UL)                   /*!< ACTION (Bitfield-Mask: 0x01)                          */
#define IWDT_CR_PRS_Pos                   (0UL)                     /*!< PRS (Bit 0)                                           */
#define IWDT_CR_PRS_Msk                   (0x7UL)                   /*!< PRS (Bitfield-Mask: 0x07)                             */
/* ==========================================================  ARR  ========================================================== */
#define IWDT_ARR_ARR_Pos                  (0UL)                     /*!< ARR (Bit 0)                                           */
#define IWDT_ARR_ARR_Msk                  (0xfffUL)                 /*!< ARR (Bitfield-Mask: 0xfff)                            */
/* ==========================================================  SR  =========================================================== */
#define IWDT_SR_RELOAD_Pos                (5UL)                     /*!< RELOAD (Bit 5)                                        */
#define IWDT_SR_RELOAD_Msk                (0x20UL)                  /*!< RELOAD (Bitfield-Mask: 0x01)                          */
#define IWDT_SR_RUN_Pos                   (4UL)                     /*!< RUN (Bit 4)                                           */
#define IWDT_SR_RUN_Msk                   (0x10UL)                  /*!< RUN (Bitfield-Mask: 0x01)                             */
#define IWDT_SR_OV_Pos                    (3UL)                     /*!< OV (Bit 3)                                            */
#define IWDT_SR_OV_Msk                    (0x8UL)                   /*!< OV (Bitfield-Mask: 0x01)                              */
#define IWDT_SR_WINRF_Pos                 (2UL)                     /*!< WINRF (Bit 2)                                         */
#define IWDT_SR_WINRF_Msk                 (0x4UL)                   /*!< WINRF (Bitfield-Mask: 0x01)                           */
#define IWDT_SR_ARRF_Pos                  (1UL)                     /*!< ARRF (Bit 1)                                          */
#define IWDT_SR_ARRF_Msk                  (0x2UL)                   /*!< ARRF (Bitfield-Mask: 0x01)                            */
#define IWDT_SR_CRF_Pos                   (0UL)                     /*!< CRF (Bit 0)                                           */
#define IWDT_SR_CRF_Msk                   (0x1UL)                   /*!< CRF (Bitfield-Mask: 0x01)                             */
/* =========================================================  WINR  ========================================================== */
#define IWDT_WINR_WINR_Pos                (0UL)                     /*!< WINR (Bit 0)                                          */
#define IWDT_WINR_WINR_Msk                (0xfffUL)                 /*!< WINR (Bitfield-Mask: 0xfff)                           */
/* ==========================================================  CNT  ========================================================== */
#define IWDT_CNT_CNT_Pos                  (0UL)                     /*!< CNT (Bit 0)                                           */
#define IWDT_CNT_CNT_Msk                  (0xfffUL)                 /*!< CNT (Bitfield-Mask: 0xfff)                            */


/* =========================================================================================================================== */
/* ================                                           LPTIM                                           ================ */
/* =========================================================================================================================== */

/* ==========================================================  ISR  ========================================================== */
#define LPTIM_ISR_DIR_Pos                 (7UL)                     /*!< DIR (Bit 7)                                           */
#define LPTIM_ISR_DIR_Msk                 (0x180UL)                 /*!< DIR (Bitfield-Mask: 0x03)                             */
#define LPTIM_ISR_DOWN_Pos                (6UL)                     /*!< DOWN (Bit 6)                                          */
#define LPTIM_ISR_DOWN_Msk                (0x40UL)                  /*!< DOWN (Bitfield-Mask: 0x01)                            */
#define LPTIM_ISR_UP_Pos                  (5UL)                     /*!< UP (Bit 5)                                            */
#define LPTIM_ISR_UP_Msk                  (0x20UL)                  /*!< UP (Bitfield-Mask: 0x01)                              */
#define LPTIM_ISR_ARROK_Pos               (4UL)                     /*!< ARROK (Bit 4)                                         */
#define LPTIM_ISR_ARROK_Msk               (0x10UL)                  /*!< ARROK (Bitfield-Mask: 0x01)                           */
#define LPTIM_ISR_CMPOK_Pos               (3UL)                     /*!< CMPOK (Bit 3)                                         */
#define LPTIM_ISR_CMPOK_Msk               (0x8UL)                   /*!< CMPOK (Bitfield-Mask: 0x01)                           */
#define LPTIM_ISR_EXTTRIG_Pos             (2UL)                     /*!< EXTTRIG (Bit 2)                                       */
#define LPTIM_ISR_EXTTRIG_Msk             (0x4UL)                   /*!< EXTTRIG (Bitfield-Mask: 0x01)                         */
#define LPTIM_ISR_ARRM_Pos                (1UL)                     /*!< ARRM (Bit 1)                                          */
#define LPTIM_ISR_ARRM_Msk                (0x2UL)                   /*!< ARRM (Bitfield-Mask: 0x01)                            */
#define LPTIM_ISR_CMPM_Pos                (0UL)                     /*!< CMPM (Bit 0)                                          */
#define LPTIM_ISR_CMPM_Msk                (0x1UL)                   /*!< CMPM (Bitfield-Mask: 0x01)                            */
/* ==========================================================  ICR  ========================================================== */
#define LPTIM_ICR_DOWN_Pos                (6UL)                     /*!< DOWN (Bit 6)                                          */
#define LPTIM_ICR_DOWN_Msk                (0x40UL)                  /*!< DOWN (Bitfield-Mask: 0x01)                            */
#define LPTIM_ICR_UP_Pos                  (5UL)                     /*!< UP (Bit 5)                                            */
#define LPTIM_ICR_UP_Msk                  (0x20UL)                  /*!< UP (Bitfield-Mask: 0x01)                              */
#define LPTIM_ICR_ARROK_Pos               (4UL)                     /*!< ARROK (Bit 4)                                         */
#define LPTIM_ICR_ARROK_Msk               (0x10UL)                  /*!< ARROK (Bitfield-Mask: 0x01)                           */
#define LPTIM_ICR_CMPOK_Pos               (3UL)                     /*!< CMPOK (Bit 3)                                         */
#define LPTIM_ICR_CMPOK_Msk               (0x8UL)                   /*!< CMPOK (Bitfield-Mask: 0x01)                           */
#define LPTIM_ICR_EXTTRIG_Pos             (2UL)                     /*!< EXTTRIG (Bit 2)                                       */
#define LPTIM_ICR_EXTTRIG_Msk             (0x4UL)                   /*!< EXTTRIG (Bitfield-Mask: 0x01)                         */
#define LPTIM_ICR_ARRM_Pos                (1UL)                     /*!< ARRM (Bit 1)                                          */
#define LPTIM_ICR_ARRM_Msk                (0x2UL)                   /*!< ARRM (Bitfield-Mask: 0x01)                            */
#define LPTIM_ICR_CMPM_Pos                (0UL)                     /*!< CMPM (Bit 0)                                          */
#define LPTIM_ICR_CMPM_Msk                (0x1UL)                   /*!< CMPM (Bitfield-Mask: 0x01)                            */
/* ==========================================================  IER  ========================================================== */
#define LPTIM_IER_DOWN_Pos                (6UL)                     /*!< DOWN (Bit 6)                                          */
#define LPTIM_IER_DOWN_Msk                (0x40UL)                  /*!< DOWN (Bitfield-Mask: 0x01)                            */
#define LPTIM_IER_UP_Pos                  (5UL)                     /*!< UP (Bit 5)                                            */
#define LPTIM_IER_UP_Msk                  (0x20UL)                  /*!< UP (Bitfield-Mask: 0x01)                              */
#define LPTIM_IER_ARROK_Pos               (4UL)                     /*!< ARROK (Bit 4)                                         */
#define LPTIM_IER_ARROK_Msk               (0x10UL)                  /*!< ARROK (Bitfield-Mask: 0x01)                           */
#define LPTIM_IER_CMPOK_Pos               (3UL)                     /*!< CMPOK (Bit 3)                                         */
#define LPTIM_IER_CMPOK_Msk               (0x8UL)                   /*!< CMPOK (Bitfield-Mask: 0x01)                           */
#define LPTIM_IER_EXTTRIG_Pos             (2UL)                     /*!< EXTTRIG (Bit 2)                                       */
#define LPTIM_IER_EXTTRIG_Msk             (0x4UL)                   /*!< EXTTRIG (Bitfield-Mask: 0x01)                         */
#define LPTIM_IER_ARRM_Pos                (1UL)                     /*!< ARRM (Bit 1)                                          */
#define LPTIM_IER_ARRM_Msk                (0x2UL)                   /*!< ARRM (Bitfield-Mask: 0x01)                            */
#define LPTIM_IER_CMPM_Pos                (0UL)                     /*!< CMPM (Bit 0)                                          */
#define LPTIM_IER_CMPM_Msk                (0x1UL)                   /*!< CMPM (Bitfield-Mask: 0x01)                            */
/* =========================================================  CFGR  ========================================================== */
#define LPTIM_CFGR_ICLKSRC_Pos            (25UL)                    /*!< ICLKSRC (Bit 25)                                      */
#define LPTIM_CFGR_ICLKSRC_Msk            (0x6000000UL)             /*!< ICLKSRC (Bitfield-Mask: 0x03)                         */
#define LPTIM_CFGR_ENC_Pos                (24UL)                    /*!< ENC (Bit 24)                                          */
#define LPTIM_CFGR_ENC_Msk                (0x1000000UL)             /*!< ENC (Bitfield-Mask: 0x01)                             */
#define LPTIM_CFGR_COUNTMD_Pos            (23UL)                    /*!< COUNTMD (Bit 23)                                      */
#define LPTIM_CFGR_COUNTMD_Msk            (0x800000UL)              /*!< COUNTMD (Bitfield-Mask: 0x01)                         */
#define LPTIM_CFGR_PRELOAD_Pos            (22UL)                    /*!< PRELOAD (Bit 22)                                      */
#define LPTIM_CFGR_PRELOAD_Msk            (0x400000UL)              /*!< PRELOAD (Bitfield-Mask: 0x01)                         */
#define LPTIM_CFGR_WAVPOL_Pos             (21UL)                    /*!< WAVPOL (Bit 21)                                       */
#define LPTIM_CFGR_WAVPOL_Msk             (0x200000UL)              /*!< WAVPOL (Bitfield-Mask: 0x01)                          */
#define LPTIM_CFGR_WAVE_Pos               (20UL)                    /*!< WAVE (Bit 20)                                         */
#define LPTIM_CFGR_WAVE_Msk               (0x100000UL)              /*!< WAVE (Bitfield-Mask: 0x01)                            */
#define LPTIM_CFGR_TIMOUT_Pos             (19UL)                    /*!< TIMOUT (Bit 19)                                       */
#define LPTIM_CFGR_TIMOUT_Msk             (0x80000UL)               /*!< TIMOUT (Bitfield-Mask: 0x01)                          */
#define LPTIM_CFGR_TRIGEN_Pos             (17UL)                    /*!< TRIGEN (Bit 17)                                       */
#define LPTIM_CFGR_TRIGEN_Msk             (0x60000UL)               /*!< TRIGEN (Bitfield-Mask: 0x03)                          */
#define LPTIM_CFGR_TRIGSEL_Pos            (13UL)                    /*!< TRIGSEL (Bit 13)                                      */
#define LPTIM_CFGR_TRIGSEL_Msk            (0xe000UL)                /*!< TRIGSEL (Bitfield-Mask: 0x07)                         */
#define LPTIM_CFGR_PRS_Pos                (9UL)                     /*!< PRS (Bit 9)                                           */
#define LPTIM_CFGR_PRS_Msk                (0xe00UL)                 /*!< PRS (Bitfield-Mask: 0x07)                             */
#define LPTIM_CFGR_TRIGFLT_Pos            (6UL)                     /*!< TRIGFLT (Bit 6)                                       */
#define LPTIM_CFGR_TRIGFLT_Msk            (0xc0UL)                  /*!< TRIGFLT (Bitfield-Mask: 0x03)                         */
#define LPTIM_CFGR_CHFLT_Pos              (3UL)                     /*!< CHFLT (Bit 3)                                         */
#define LPTIM_CFGR_CHFLT_Msk              (0x18UL)                  /*!< CHFLT (Bitfield-Mask: 0x03)                           */
#define LPTIM_CFGR_ENCMD_CKPOL_Pos        (1UL)                     /*!< ENCMD_CKPOL (Bit 1)                                   */
#define LPTIM_CFGR_ENCMD_CKPOL_Msk        (0x6UL)                   /*!< ENCMD_CKPOL (Bitfield-Mask: 0x03)                     */
#define LPTIM_CFGR_CKSEL_Pos              (0UL)                     /*!< CKSEL (Bit 0)                                         */
#define LPTIM_CFGR_CKSEL_Msk              (0x1UL)                   /*!< CKSEL (Bitfield-Mask: 0x01)                           */
/* ==========================================================  CR  =========================================================== */
#define LPTIM_CR_ARST_Pos                 (4UL)                     /*!< ARST (Bit 4)                                          */
#define LPTIM_CR_ARST_Msk                 (0x10UL)                  /*!< ARST (Bitfield-Mask: 0x01)                            */
#define LPTIM_CR_SRST_Pos                 (3UL)                     /*!< SRST (Bit 3)                                          */
#define LPTIM_CR_SRST_Msk                 (0x8UL)                   /*!< SRST (Bitfield-Mask: 0x01)                            */
#define LPTIM_CR_CNTSTART_Pos             (2UL)                     /*!< CNTSTART (Bit 2)                                      */
#define LPTIM_CR_CNTSTART_Msk             (0x4UL)                   /*!< CNTSTART (Bitfield-Mask: 0x01)                        */
#define LPTIM_CR_SNGSTART_Pos             (1UL)                     /*!< SNGSTART (Bit 1)                                      */
#define LPTIM_CR_SNGSTART_Msk             (0x2UL)                   /*!< SNGSTART (Bitfield-Mask: 0x01)                        */
#define LPTIM_CR_EN_Pos                   (0UL)                     /*!< EN (Bit 0)                                            */
#define LPTIM_CR_EN_Msk                   (0x1UL)                   /*!< EN (Bitfield-Mask: 0x01)                              */
/* ==========================================================  CMP  ========================================================== */
#define LPTIM_CMP_CMP_Pos                 (0UL)                     /*!< CMP (Bit 0)                                           */
#define LPTIM_CMP_CMP_Msk                 (0xffffUL)                /*!< CMP (Bitfield-Mask: 0xffff)                           */
/* ==========================================================  ARR  ========================================================== */
#define LPTIM_ARR_ARR_Pos                 (0UL)                     /*!< ARR (Bit 0)                                           */
#define LPTIM_ARR_ARR_Msk                 (0xffffUL)                /*!< ARR (Bitfield-Mask: 0xffff)                           */
/* ==========================================================  CNT  ========================================================== */
#define LPTIM_CNT_CNT_Pos                 (0UL)                     /*!< CNT (Bit 0)                                           */
#define LPTIM_CNT_CNT_Msk                 (0xffffUL)                /*!< CNT (Bitfield-Mask: 0xffff)                           */

/* =========================================================================================================================== */
/* ================                                           RAM                                             ================ */
/* =========================================================================================================================== */

/* ==========================================================  IER  ========================================================== */
#define RAM_IER_PARITY_Pos                (0UL)                     /*!< PARITY (Bit 0)                                        */
#define RAM_IER_PARITY_Msk                (0x1UL)                   /*!< PARITY (Bitfield-Mask: 0x01)                          */
/* =========================================================  ADDR  ========================================================== */
#define RAM_ADRR_ADDR_Pos                 (0UL)                     /*!< ADDR (Bit 0)                                          */
#define RAM_ADDR_ADR_Msk                  (0xffffUL)                /*!< ADDR (Bitfield-Mask: 0xffff)                          */
/* ==========================================================  ISR  ========================================================== */
#define RAM_ISR_PARITY_Pos                (0UL)                     /*!< PARITY (Bit 0)                                        */
#define RAM_ISR_PARITY_Msk                (0x1UL)                   /*!< PARITY (Bitfield-Mask: 0x01)                          */
/* ==========================================================  ICR  ========================================================== */
#define RAM_ICR_PARITY_Pos                (0UL)                     /*!< PARITY (Bit 0)                                        */
#define RAM_ICR_PARITY_Msk                (0x1UL)                   /*!< PARITY (Bitfield-Mask: 0xffff)                        */


/* =========================================================================================================================== */
/* ================                                           UART                                            ================ */
/* =========================================================================================================================== */

/* ==========================================================  CR1  ========================================================== */
#define UARTx_CR1_SYNC_Pos                (14UL)                    /*!< SYNC (Bit 14)                                         */
#define UARTx_CR1_SYNC_Msk                (0x4000UL)                /*!< SYNC (Bitfield-Mask: 0x01)                            */
#define UARTx_CR1_SOURCE_Pos              (12UL)                    /*!< SOURCE (Bit 12)                                       */
#define UARTx_CR1_SOURCE_Msk              (0x3000UL)                /*!< SOURCE (Bitfield-Mask: 0x03)                          */
#define UARTx_CR1_SIGNAL_Pos              (11UL)                    /*!< SIGNAL (Bit 11)                                       */
#define UARTx_CR1_SIGNAL_Msk              (0x800UL)                 /*!< SIGNAL (Bitfield-Mask: 0x01)                          */
#define UARTx_CR1_OVER_Pos                (9UL)                     /*!< OVER (Bit 9)                                          */
#define UARTx_CR1_OVER_Msk                (0x600UL)                 /*!< OVER (Bitfield-Mask: 0x03)                            */
#define UARTx_CR1_START_Pos               (8UL)                     /*!< START (Bit 8)                                         */
#define UARTx_CR1_START_Msk               (0x100UL)                 /*!< START (Bitfield-Mask: 0x01)                           */
#define UARTx_CR1_MSBF_Pos                (7UL)                     /*!< MSBF (Bit 7)                                          */
#define UARTx_CR1_MSBF_Msk                (0x80UL)                  /*!< MSBF (Bitfield-Mask: 0x01)                            */
#define UARTx_CR1_CHLEN_Pos               (6UL)                     /*!< CHLEN (Bit 6)                                         */
#define UARTx_CR1_CHLEN_Msk               (0x40UL)                  /*!< CHLEN (Bitfield-Mask: 0x01)                           */
#define UARTx_CR1_STOP_Pos                (4UL)                     /*!< STOP (Bit 4)                                          */
#define UARTx_CR1_STOP_Msk                (0x30UL)                  /*!< STOP (Bitfield-Mask: 0x03)                            */
#define UARTx_CR1_PARITYEN_Pos            (3UL)                     /*!< PARITYEN (Bit 3)                                      */
#define UARTx_CR1_PARITYEN_Msk            (0x8UL)                   /*!< PARITYEN (Bitfield-Mask: 0x01)                        */
#define UARTx_CR1_PARITY_Pos              (2UL)                     /*!< PARITY (Bit 2)                                        */
#define UARTx_CR1_PARITY_Msk              (0x4UL)                   /*!< PARITY (Bitfield-Mask: 0x03)                          */
#define UARTx_CR1_RXEN_Pos                (1UL)                     /*!< RXEN (Bit 1)                                          */
#define UARTx_CR1_RXEN_Msk                (0x2UL)                   /*!< RXEN (Bitfield-Mask: 0x01)                            */
#define UARTx_CR1_TXEN_Pos                (0UL)                     /*!< TXEN (Bit 0)                                          */
#define UARTx_CR1_TXEN_Msk                (0x1UL)                   /*!< TXEN (Bitfield-Mask: 0x01)                            */
/* ==========================================================  CR2  ========================================================== */
#define UARTx_CR2_RXSRC_Pos               (15UL)                    /*!< RXSRC (Bit 15)                                        */
#define UARTx_CR2_RXSRC_Msk               (0x38000UL)               /*!< RXSRC (Bitfield-Mask: 0x07)                           */
#define UARTx_CR2_LOOP_Pos                (14UL)                    /*!< LOOP (Bit 14)                                         */
#define UARTx_CR2_LOOP_Msk                (0x4000UL)                /*!< LOOP (Bitfield-Mask: 0x01)                            */
#define UARTx_CR2_ADCTX_Pos               (13UL)                    /*!< ADCTX (Bit 13)                                        */
#define UARTx_CR2_ADCTX_Msk               (0x2000UL)                /*!< ADCTX (Bitfield-Mask: 0x01)                           */
#define UARTx_CR2_ADCRX_Pos               (12UL)                    /*!< ADCRX (Bit 12)                                        */
#define UARTx_CR2_ADCRX_Msk               (0x1000UL)                /*!< ADCRX (Bitfield-Mask: 0x01)                           */
#define UARTx_CR2_SWAP_Pos                (11UL)                    /*!< SWAP (Bit 11)                                         */
#define UARTx_CR2_SWAP_Msk                (0x800UL)                 /*!< SWAP (Bitfield-Mask: 0x01)                            */
#define UARTx_CR2_TIMCR_Pos               (8UL)                     /*!< TIMCR (Bit 8)                                         */
#define UARTx_CR2_TIMCR_Msk               (0x700UL)                 /*!< TIMCR (Bitfield-Mask: 0x07)                           */
#define UARTx_CR2_TXINV_Pos               (5UL)                     /*!< TXINV (Bit 5)                                         */
#define UARTx_CR2_TXINV_Msk               (0x20UL)                  /*!< TXINV (Bitfield-Mask: 0x01)                           */
#define UARTx_CR2_RXINV_Pos               (4UL)                     /*!< RXINV (Bit 4)                                         */
#define UARTx_CR2_RXINV_Msk               (0x10UL)                  /*!< RXINV (Bitfield-Mask: 0x01)                           */
#define UARTx_CR2_RTSEN_Pos               (3UL)                     /*!< RTSEN (Bit 3)                                         */
#define UARTx_CR2_RTSEN_Msk               (0x8UL)                   /*!< RTSEN (Bitfield-Mask: 0x01)                           */
#define UARTx_CR2_CTSEN_Pos               (2UL)                     /*!< CTSEN (Bit 2)                                         */
#define UARTx_CR2_CTSEN_Msk               (0x4UL)                   /*!< CTSEN (Bitfield-Mask: 0x01)                           */
#define UARTx_CR2_RXMATCHEN_Pos           (1UL)                     /*!< RXMATCHEN (Bit 1)                                     */
#define UARTx_CR2_RXMATCHEN_Msk           (0x2UL)                   /*!< RXMATCHEN (Bitfield-Mask: 0x01)                       */
#define UARTx_CR2_ADDREN_Pos              (0UL)                     /*!< ADDREN (Bit 0)                                        */
#define UARTx_CR2_ADDREN_Msk              (0x1UL)                   /*!< ADDREN (Bitfield-Mask: 0x01)                          */
/* ==========================================================  CR3  ========================================================== */
#define UARTx_CR3_BRKL_Pos                (8UL)                     /*!< BRKL (Bit 8)                                          */
#define UARTx_CR3_BRKL_Msk                (0x100UL)                 /*!< BRKL (Bitfield-Mask: 0x01)                            */
#define UARTx_CR3_LIN_Pos                 (7UL)                     /*!< LIN (Bit 7)                                           */
#define UARTx_CR3_LIN_Msk                 (0x80UL)                  /*!< LIN (Bitfield-Mask: 0x01)                             */
#define UARTx_CR3_DETIME_Pos              (2UL)                     /*!< DETIME (Bit 2)                                        */
#define UARTx_CR3_DETIME_Msk              (0x7cUL)                  /*!< DETIME (Bitfield-Mask: 0x1f)                          */
#define UARTx_CR3_DEP_Pos                 (1UL)                     /*!< DEP (Bit 1)                                           */
#define UARTx_CR3_DEP_Msk                 (0x2UL)                   /*!< DEP (Bitfield-Mask: 0x01)                             */
#define UARTx_CR3_DEM_Pos                 (0UL)                     /*!< DEM (Bit 0)                                           */
#define UARTx_CR3_DEM_Msk                 (0x1UL)                   /*!< DEM (Bitfield-Mask: 0x01)                             */
/* =========================================================  BRRI  ========================================================== */
#define UARTx_BRRI_BRRI_Pos               (0UL)                     /*!< BRRI (Bit 0)                                          */
#define UARTx_BRRI_BRRI_Msk               (0xffffUL)                /*!< BRRI (Bitfield-Mask: 0xffff)                          */
/* =========================================================  BRRF  ========================================================== */
#define UARTx_BRRF_BRRF_Pos               (0UL)                     /*!< BRRF (Bit 0)                                          */
#define UARTx_BRRF_BRRF_Msk               (0xfUL)                   /*!< BRRF (Bitfield-Mask: 0x0f)                            */
/* ========================================================  TIMARR  ========================================================= */
#define UARTx_TIMARR_TIMARR_Pos           (0UL)                     /*!< TIMARR (Bit 0)                                        */
#define UARTx_TIMARR_TIMARR_Msk           (0xffffffUL)              /*!< TIMARR (Bitfield-Mask: 0xffffff)                      */
/* ========================================================  TIMCNT  ========================================================= */
#define UARTx_TIMCNT_TIMCNT_Pos           (0UL)                     /*!< TIMCNT (Bit 0)                                        */
#define UARTx_TIMCNT_TIMCNT_Msk           (0xffffffUL)              /*!< TIMCNT (Bitfield-Mask: 0xffffff)                      */
/* ==========================================================  RDR  ========================================================== */
#define UARTx_RDR_RDR_Pos                 (0UL)                     /*!< RDR (Bit 0)                                           */
#define UARTx_RDR_RDR_Msk                 (0x1ffUL)                 /*!< RDR (Bitfield-Mask: 0x1ff)                            */
/* ==========================================================  TDR  ========================================================== */
#define UARTx_TDR_BREAK_Pos               (10UL)                    /*!< BREAK (Bit 10)                                        */
#define UARTx_TDR_BREAK_Msk               (0x400UL)                 /*!< BREAK (Bitfield-Mask: 0x01)                           */
#define UARTx_TDR_IDLE_Pos                (9UL)                     /*!< IDLE (Bit 9)                                          */
#define UARTx_TDR_IDLE_Msk                (0x200UL)                 /*!< IDLE (Bitfield-Mask: 0x01)                            */
#define UARTx_TDR_TDR_Pos                 (0UL)                     /*!< TDR (Bit 0)                                           */
#define UARTx_TDR_TDR_Msk                 (0x1ffUL)                 /*!< TDR (Bitfield-Mask: 0x1ff)                            */
/* =========================================================  ADDR  ========================================================== */
#define UARTx_ADDR_ADDR_Pos               (0UL)                     /*!< ADDR (Bit 0)                                          */
#define UARTx_ADDR_ADDR_Msk               (0xffUL)                  /*!< ADDR (Bitfield-Mask: 0xff)                            */
/* =========================================================  MASK  ========================================================== */
#define UARTx_MASK_MASK_Pos               (0UL)                     /*!< MASK (Bit 0)                                          */
#define UARTx_MASK_MASK_Msk               (0xffUL)                  /*!< MASK (Bitfield-Mask: 0xff)                            */
/* ==========================================================  IER  ========================================================== */
#define UARTx_IER_RXMATCH_Pos             (12UL)                    /*!< RXMATCH (Bit 12)                                      */
#define UARTx_IER_RXMATCH_Msk             (0x1000UL)                /*!< RXMATCH (Bitfield-Mask: 0x01)                         */
#define UARTx_IER_ORE_Pos                 (11UL)                    /*!< ORE (Bit 11)                                          */
#define UARTx_IER_ORE_Msk                 (0x800UL)                 /*!< ORE (Bitfield-Mask: 0x01)                             */
#define UARTx_IER_NE_Pos                  (10UL)                    /*!< NE (Bit 10)                                           */
#define UARTx_IER_NE_Msk                  (0x400UL)                 /*!< NE (Bitfield-Mask: 0x01)                              */
#define UARTx_IER_PE_Pos                  (9UL)                     /*!< PE (Bit 9)                                            */
#define UARTx_IER_PE_Msk                  (0x200UL)                 /*!< PE (Bitfield-Mask: 0x01)                              */
#define UARTx_IER_FE_Pos                  (8UL)                     /*!< FE (Bit 8)                                            */
#define UARTx_IER_FE_Msk                  (0x100UL)                 /*!< FE (Bitfield-Mask: 0x01)                              */
#define UARTx_IER_CTS_Pos                 (7UL)                     /*!< CTS (Bit 7)                                           */
#define UARTx_IER_CTS_Msk                 (0x80UL)                  /*!< CTS (Bitfield-Mask: 0x01)                             */
#define UARTx_IER_TIMOV_Pos               (6UL)                     /*!< TIMOV (Bit 6)                                         */
#define UARTx_IER_TIMOV_Msk               (0x40UL)                  /*!< TIMOV (Bitfield-Mask: 0x01)                           */
#define UARTx_IER_BAUD_Pos                (5UL)                     /*!< BAUD (Bit 5)                                          */
#define UARTx_IER_BAUD_Msk                (0x20UL)                  /*!< BAUD (Bitfield-Mask: 0x01)                            */
#define UARTx_IER_RXBRK_Pos               (4UL)                     /*!< RXBRK (Bit 4)                                         */
#define UARTx_IER_RXBRK_Msk               (0x10UL)                  /*!< RXBRK (Bitfield-Mask: 0x01)                           */
#define UARTx_IER_RXIDLE_Pos              (3UL)                     /*!< RXIDLE (Bit 3)                                        */
#define UARTx_IER_RXIDLE_Msk              (0x8UL)                   /*!< RXIDLE (Bitfield-Mask: 0x01)                          */
#define UARTx_IER_RC_Pos                  (2UL)                     /*!< RC (Bit 2)                                            */
#define UARTx_IER_RC_Msk                  (0x4UL)                   /*!< RC (Bitfield-Mask: 0x01)                              */
#define UARTx_IER_TC_Pos                  (1UL)                     /*!< TC (Bit 1)                                            */
#define UARTx_IER_TC_Msk                  (0x2UL)                   /*!< TC (Bitfield-Mask: 0x01)                              */
#define UARTx_IER_TXE_Pos                 (0UL)                     /*!< TXE (Bit 0)                                           */
#define UARTx_IER_TXE_Msk                 (0x1UL)                   /*!< TXE (Bitfield-Mask: 0x01)                             */
/* ==========================================================  ISR  ========================================================== */
#define UARTx_ISR_CTSLV_Pos               (15UL)                    /*!< CTSLV (Bit 15)                                        */
#define UARTx_ISR_CTSLV_Msk               (0x8000UL)                /*!< CTSLV (Bitfield-Mask: 0x01)                           */
#define UARTx_ISR_TXBUSY_Pos              (14UL)                    /*!< TXBUSY (Bit 14)                                       */
#define UARTx_ISR_TXBUSY_Msk              (0x4000UL)                /*!< TXBUSY (Bitfield-Mask: 0x01)                          */
#define UARTx_ISR_SLVMATCH_Pos            (13UL)                    /*!< SLVMATCH (Bit 13)                                     */
#define UARTx_ISR_SLVMATCH_Msk            (0x2000UL)                /*!< SLVMATCH (Bitfield-Mask: 0x01)                        */
#define UARTx_ISR_RXMATCH_Pos             (12UL)                    /*!< RXMATCH (Bit 12)                                      */
#define UARTx_ISR_RXMATCH_Msk             (0x1000UL)                /*!< RXMATCH (Bitfield-Mask: 0x01)                         */
#define UARTx_ISR_ORE_Pos                 (11UL)                    /*!< ORE (Bit 11)                                          */
#define UARTx_ISR_ORE_Msk                 (0x800UL)                 /*!< ORE (Bitfield-Mask: 0x01)                             */
#define UARTx_ISR_NE_Pos                  (10UL)                    /*!< NE (Bit 10)                                           */
#define UARTx_ISR_NE_Msk                  (0x400UL)                 /*!< NE (Bitfield-Mask: 0x01)                              */
#define UARTx_ISR_PE_Pos                  (9UL)                     /*!< PE (Bit 9)                                            */
#define UARTx_ISR_PE_Msk                  (0x200UL)                 /*!< PE (Bitfield-Mask: 0x01)                              */
#define UARTx_ISR_FE_Pos                  (8UL)                     /*!< FE (Bit 8)                                            */
#define UARTx_ISR_FE_Msk                  (0x100UL)                 /*!< FE (Bitfield-Mask: 0x01)                              */
#define UARTx_ISR_CTS_Pos                 (7UL)                     /*!< CTS (Bit 7)                                           */
#define UARTx_ISR_CTS_Msk                 (0x80UL)                  /*!< CTS (Bitfield-Mask: 0x01)                             */
#define UARTx_ISR_TIMOV_Pos               (6UL)                     /*!< TIMOV (Bit 6)                                         */
#define UARTx_ISR_TIMOV_Msk               (0x40UL)                  /*!< TIMOV (Bitfield-Mask: 0x01)                           */
#define UARTx_ISR_BAUD_Pos                (5UL)                     /*!< BAUD (Bit 5)                                          */
#define UARTx_ISR_BAUD_Msk                (0x20UL)                  /*!< BAUD (Bitfield-Mask: 0x01)                            */
#define UARTx_ISR_RXBRK_Pos               (4UL)                     /*!< RXBRK (Bit 4)                                         */
#define UARTx_ISR_RXBRK_Msk               (0x10UL)                  /*!< RXBRK (Bitfield-Mask: 0x01)                           */
#define UARTx_ISR_RXIDLE_Pos              (3UL)                     /*!< RXIDLE (Bit 3)                                        */
#define UARTx_ISR_RXIDLE_Msk              (0x8UL)                   /*!< RXIDLE (Bitfield-Mask: 0x01)                          */
#define UARTx_ISR_RC_Pos                  (2UL)                     /*!< RC (Bit 2)                                            */
#define UARTx_ISR_RC_Msk                  (0x4UL)                   /*!< RC (Bitfield-Mask: 0x01)                              */
#define UARTx_ISR_TC_Pos                  (1UL)                     /*!< TC (Bit 1)                                            */
#define UARTx_ISR_TC_Msk                  (0x2UL)                   /*!< TC (Bitfield-Mask: 0x01)                              */
#define UARTx_ISR_TXE_Pos                 (0UL)                     /*!< TXE (Bit 0)                                           */
#define UARTx_ISR_TXE_Msk                 (0x1UL)                   /*!< TXE (Bitfield-Mask: 0x01)                             */
/* ==========================================================  ICR  ========================================================== */
#define UARTx_ICR_RXMATCH_Pos             (12UL)                    /*!< RXMATCH (Bit 12)                                      */
#define UARTx_ICR_RXMATCH_Msk             (0x1000UL)                /*!< RXMATCH (Bitfield-Mask: 0x01)                         */
#define UARTx_ICR_ORE_Pos                 (11UL)                    /*!< ORE (Bit 11)                                          */
#define UARTx_ICR_ORE_Msk                 (0x800UL)                 /*!< ORE (Bitfield-Mask: 0x01)                             */
#define UARTx_ICR_NE_Pos                  (10UL)                    /*!< NE (Bit 10)                                           */
#define UARTx_ICR_NE_Msk                  (0x400UL)                 /*!< NE (Bitfield-Mask: 0x01)                              */
#define UARTx_ICR_PE_Pos                  (9UL)                     /*!< PE (Bit 9)                                            */
#define UARTx_ICR_PE_Msk                  (0x200UL)                 /*!< PE (Bitfield-Mask: 0x01)                              */
#define UARTx_ICR_FE_Pos                  (8UL)                     /*!< FE (Bit 8)                                            */
#define UARTx_ICR_FE_Msk                  (0x100UL)                 /*!< FE (Bitfield-Mask: 0x01)                              */
#define UARTx_ICR_CTS_Pos                 (7UL)                     /*!< CTS (Bit 7)                                           */
#define UARTx_ICR_CTS_Msk                 (0x80UL)                  /*!< CTS (Bitfield-Mask: 0x01)                             */
#define UARTx_ICR_TIMOV_Pos               (6UL)                     /*!< TIMOV (Bit 6)                                         */
#define UARTx_ICR_TIMOV_Msk               (0x40UL)                  /*!< TIMOV (Bitfield-Mask: 0x01)                           */
#define UARTx_ICR_BAUD_Pos                (5UL)                     /*!< BAUD (Bit 5)                                          */
#define UARTx_ICR_BAUD_Msk                (0x20UL)                  /*!< BAUD (Bitfield-Mask: 0x01)                            */
#define UARTx_ICR_RXBRK_Pos               (4UL)                     /*!< RXBRK (Bit 4)                                         */
#define UARTx_ICR_RXBRK_Msk               (0x10UL)                  /*!< RXBRK (Bitfield-Mask: 0x01)                           */
#define UARTx_ICR_RXIDLE_Pos              (3UL)                     /*!< RXIDLE (Bit 3)                                        */
#define UARTx_ICR_RXIDLE_Msk              (0x8UL)                   /*!< RXIDLE (Bitfield-Mask: 0x01)                          */
#define UARTx_ICR_RC_Pos                  (2UL)                     /*!< RC (Bit 2)                                            */
#define UARTx_ICR_RC_Msk                  (0x4UL)                   /*!< RC (Bitfield-Mask: 0x01)                              */
#define UARTx_ICR_TC_Pos                  (1UL)                     /*!< TC (Bit 1)                                            */
#define UARTx_ICR_TC_Msk                  (0x2UL)                   /*!< TC (Bitfield-Mask: 0x01)                              */
/* ========================================================  RXMATCH  ======================================================== */
#define UARTx_RXMATCH_RXMATCH_Pos         (0UL)                     /*!< RXMATCH (Bit 0)                                       */
#define UARTx_RXMATCH_RXMATCH_Msk         (0x1ffUL)                 /*!< RXMATCH (Bitfield-Mask: 0x1ff)                        */


/* =========================================================================================================================== */
/* ================                                            LVD                                            ================ */
/* =========================================================================================================================== */

/* ==========================================================  CR0  ========================================================== */
#define LVD_CR0_FLTCLK_Pos                (8UL)                     /*!< FLTCLK (Bit 8)                                        */
#define LVD_CR0_FLTCLK_Msk                (0x100UL)                 /*!< FLTCLK (Bitfield-Mask: 0x01)                          */
#define LVD_CR0_VTH_Pos                   (4UL)                     /*!< VTH (Bit 4)                                           */
#define LVD_CR0_VTH_Msk                   (0x70UL)                  /*!< VTH (Bitfield-Mask: 0x07)                             */
#define LVD_CR0_SOURCE_Pos                (2UL)                     /*!< SOURCE (Bit 2)                                        */
#define LVD_CR0_SOURCE_Msk                (0x4UL)                   /*!< SOURCE (Bitfield-Mask: 0x01)                          */
#define LVD_CR0_ACTION_Pos                (1UL)                     /*!< ACTION (Bit 1)                                        */
#define LVD_CR0_ACTION_Msk                (0x2UL)                   /*!< ACTION (Bitfield-Mask: 0x01)                          */
#define LVD_CR0_EN_Pos                    (0UL)                     /*!< EN (Bit 0)                                            */
#define LVD_CR0_EN_Msk                    (0x1UL)                   /*!< EN (Bitfield-Mask: 0x01)                              */
/* ==========================================================  CR1  ========================================================== */
#define LVD_CR1_FLTTIME_Pos               (4UL)                     /*!< FLTTIME (Bit 4)                                       */
#define LVD_CR1_FLTTIME_Msk               (0xf0UL)                  /*!< FLTTIME (Bitfield-Mask: 0x0f)                         */
#define LVD_CR1_RISE_Pos                  (3UL)                     /*!< RISE (Bit 3)                                          */
#define LVD_CR1_RISE_Msk                  (0x8UL)                   /*!< RISE (Bitfield-Mask: 0x01)                            */
#define LVD_CR1_FALL_Pos                  (2UL)                     /*!< FALL (Bit 2)                                          */
#define LVD_CR1_FALL_Msk                  (0x4UL)                   /*!< FALL (Bitfield-Mask: 0x01)                            */
#define LVD_CR1_LEVEL_Pos                 (1UL)                     /*!< LEVEL (Bit 1)                                         */
#define LVD_CR1_LEVEL_Msk                 (0x2UL)                   /*!< LEVEL (Bitfield-Mask: 0x01)                           */
#define LVD_CR1_IE_Pos                    (0UL)                     /*!< IE (Bit 0)                                            */
#define LVD_CR1_IE_Msk                    (0x1UL)                   /*!< IE (Bitfield-Mask: 0x01)                              */
/* ==========================================================  SR  =========================================================== */
#define LVD_SR_FLTV_Pos                   (1UL)                     /*!< FLTV (Bit 1)                                          */
#define LVD_SR_FLTV_Msk                   (0x2UL)                   /*!< FLTV (Bitfield-Mask: 0x01)                            */
#define LVD_SR_INTF_Pos                   (0UL)                     /*!< INTF (Bit 0)                                          */
#define LVD_SR_INTF_Msk                   (0x1UL)                   /*!< INTF (Bitfield-Mask: 0x01)                            */


/* =========================================================================================================================== */
/* ================                                            RTC                                            ================ */
/* =========================================================================================================================== */

/* ==========================================================  KEY  ========================================================== */
#define RTC_KEY_KEY_Pos                   (0UL)                     /*!< KEY (Bit 0)                                           */
#define RTC_KEY_KEY_Msk                   (0xffUL)                  /*!< KEY (Bitfield-Mask: 0xff)                             */
/* ==========================================================  CR0  ========================================================== */
#define RTC_CR0_START_Pos                 (7UL)                     /*!< START (Bit 7)                                         */
#define RTC_CR0_START_Msk                 (0x80UL)                  /*!< START (Bitfield-Mask: 0x01)                           */
#define RTC_CR0_RTC1HZ_Pos                (5UL)                     /*!< RTC1HZ (Bit 5)                                        */
#define RTC_CR0_RTC1HZ_Msk                (0x60UL)                  /*!< RTC1HZ (Bitfield-Mask: 0x03)                          */
#define RTC_CR0_H24_Pos                   (3UL)                     /*!< H24 (Bit 3)                                           */
#define RTC_CR0_H24_Msk                   (0x8UL)                   /*!< H24 (Bitfield-Mask: 0x01)                             */
#define RTC_CR0_INTERVAL_Pos              (0UL)                     /*!< INTERVAL (Bit 0)                                      */
#define RTC_CR0_INTERVAL_Msk              (0x7UL)                   /*!< INTERVAL (Bitfield-Mask: 0x07)                        */
/* ==========================================================  CR1  ========================================================== */
#define RTC_CR1_SOURCE_Pos                (8UL)                     /*!< SOURCE (Bit 8)                                        */
#define RTC_CR1_SOURCE_Msk                (0x700UL)                 /*!< SOURCE (Bitfield-Mask: 0x07)                          */
#define RTC_CR1_WAIT_Pos                  (2UL)                     /*!< WAIT (Bit 2)                                          */
#define RTC_CR1_WAIT_Msk                  (0x4UL)                   /*!< WAIT (Bitfield-Mask: 0x01)                            */
#define RTC_CR1_WINDOW_Pos                (1UL)                     /*!< WINDOW (Bit 1)                                        */
#define RTC_CR1_WINDOW_Msk                (0x2UL)                   /*!< WINDOW (Bitfield-Mask: 0x01)                          */
#define RTC_CR1_ACCESS_Pos                (0UL)                     /*!< ACCESS (Bit 0)                                        */
#define RTC_CR1_ACCESS_Msk                (0x1UL)                   /*!< ACCESS (Bitfield-Mask: 0x01)                          */
/* ==========================================================  CR2  ========================================================== */
#define RTC_CR2_ALARMBEN_Pos              (10UL)                    /*!< ALARMBEN (Bit 10)                                     */
#define RTC_CR2_ALARMBEN_Msk              (0x400UL)                 /*!< ALARMBEN (Bitfield-Mask: 0x01)                        */
#define RTC_CR2_ALARMAEN_Pos              (9UL)                     /*!< ALARMAEN (Bit 9)                                      */
#define RTC_CR2_ALARMAEN_Msk              (0x200UL)                 /*!< ALARMAEN (Bitfield-Mask: 0x01)                        */
#define RTC_CR2_AWTEN_Pos                 (7UL)                     /*!< AWTEN (Bit 7)                                         */
#define RTC_CR2_AWTEN_Msk                 (0x80UL)                  /*!< AWTEN (Bitfield-Mask: 0x01)                           */
#define RTC_CR2_TAMPEN_Pos                (6UL)                     /*!< TAMPEN (Bit 6)                                        */
#define RTC_CR2_TAMPEN_Msk                (0x40UL)                  /*!< TAMPEN (Bitfield-Mask: 0x01)                          */
#define RTC_CR2_RTCOUT_Pos                (4UL)                     /*!< RTCOUT (Bit 4)                                        */
#define RTC_CR2_RTCOUT_Msk                (0x30UL)                  /*!< RTCOUT (Bitfield-Mask: 0x03)                          */
#define RTC_CR2_TAMPEDGE_Pos              (3UL)                     /*!< TAMPEDGE (Bit 3)                                      */
#define RTC_CR2_TAMPEDGE_Msk              (0x8UL)                   /*!< TAMPEDGE (Bitfield-Mask: 0x01)                        */
#define RTC_CR2_AWTSRC_Pos                (2UL)                     /*!< AWTSRC (Bit 2)                                        */
#define RTC_CR2_AWTSRC_Msk                (0x4UL)                   /*!< AWTSRC (Bitfield-Mask: 0x01)                          */
#define RTC_CR2_AWTPRS_Pos                (0UL)                     /*!< AWTPRS (Bit 0)                                        */
#define RTC_CR2_AWTPRS_Msk                (0x3UL)                   /*!< AWTPRS (Bitfield-Mask: 0x03)                          */
/* ==========================================================  PSC  ========================================================== */
#define RTC_PSC_PSC1_Pos                  (20UL)                    /*!< PSC1 (Bit 20)                                         */
#define RTC_PSC_PSC1_Msk                  (0xff00000UL)             /*!< PSC1 (Bitfield-Mask: 0xff)                            */
#define RTC_PSC_PSC2_Pos                  (0UL)                     /*!< PSC2 (Bit 0)                                          */
#define RTC_PSC_PSC2_Msk                  (0xfffffUL)               /*!< PSC2 (Bitfield-Mask: 0xfffff)                         */
/* =========================================================  DATE  ========================================================== */
#define RTC_DATE_WEEK_Pos                 (24UL)                    /*!< WEEK (Bit 24)                                         */
#define RTC_DATE_WEEK_Msk                 (0x7000000UL)             /*!< WEEK (Bitfield-Mask: 0x07)                            */
#define RTC_DATE_YEAR_Pos                 (16UL)                    /*!< YEAR (Bit 16)                                         */
#define RTC_DATE_YEAR_Msk                 (0xff0000UL)              /*!< YEAR (Bitfield-Mask: 0xff)                            */
#define RTC_DATE_MONTH_Pos                (8UL)                     /*!< MONTH (Bit 8)                                         */
#define RTC_DATE_MONTH_Msk                (0xff00UL)                /*!< MONTH (Bitfield-Mask: 0xff)                           */
#define RTC_DATE_DAY_Pos                  (0UL)                     /*!< DAY (Bit 0)                                           */
#define RTC_DATE_DAY_Msk                  (0xffUL)                  /*!< DAY (Bitfield-Mask: 0xff)                             */
/* =========================================================  TIME  ========================================================== */
#define RTC_TIME_HOUR_Pos                 (16UL)                    /*!< HOUR (Bit 16)                                         */
#define RTC_TIME_HOUR_Msk                 (0x3f0000UL)              /*!< HOUR (Bitfield-Mask: 0x3f)                            */
#define RTC_TIME_MINUTE_Pos               (8UL)                     /*!< MINUTE (Bit 8)                                        */
#define RTC_TIME_MINUTE_Msk               (0x7f00UL)                /*!< MINUTE (Bitfield-Mask: 0x7f)                          */
#define RTC_TIME_SECOND_Pos               (0UL)                     /*!< SECOND (Bit 0)                                        */
#define RTC_TIME_SECOND_Msk               (0x7fUL)                  /*!< SECOND (Bitfield-Mask: 0x7f)                          */
/* =========================================================  SSCNT  ========================================================= */
#define RTC_SSCNT_SSCNT1_Pos              (20UL)                    /*!< SSCNT1 (Bit 20)                                       */
#define RTC_SSCNT_SSCNT1_Msk              (0x100000UL)              /*!< SSCNT1 (Bitfield-Mask: 0x01)                          */
#define RTC_SSCNT_SSCNT0_Pos              (0UL)                     /*!< SSCNT0 (Bit 0)                                        */
#define RTC_SSCNT_SSCNT0_Msk              (0xfffffUL)               /*!< SSCNT0 (Bitfield-Mask: 0xfffff)                       */
/* ========================================================  ALARMA  ========================================================= */
#define RTC_ALARMA_WEEKMASK_Pos           (24UL)                    /*!< WEEKMASK (Bit 24)                                     */
#define RTC_ALARMA_WEEKMASK_Msk           (0x7f000000UL)            /*!< WEEKMASK (Bitfield-Mask: 0x7f)                        */
#define RTC_ALARMA_HOUREN_Pos             (23UL)                    /*!< HOUREN (Bit 23)                                       */
#define RTC_ALARMA_HOUREN_Msk             (0x800000UL)              /*!< HOUREN (Bitfield-Mask: 0x01)                          */
#define RTC_ALARMA_HOUR_Pos               (16UL)                    /*!< HOUR (Bit 16)                                         */
#define RTC_ALARMA_HOUR_Msk               (0x3f0000UL)              /*!< HOUR (Bitfield-Mask: 0x3f)                            */
#define RTC_ALARMA_MINUTEEN_Pos           (15UL)                    /*!< MINUTEEN (Bit 15)                                     */
#define RTC_ALARMA_MINUTEEN_Msk           (0x8000UL)                /*!< MINUTEEN (Bitfield-Mask: 0x01)                        */
#define RTC_ALARMA_MINUTE_Pos             (8UL)                     /*!< MINUTE (Bit 8)                                        */
#define RTC_ALARMA_MINUTE_Msk             (0x7f00UL)                /*!< MINUTE (Bitfield-Mask: 0x7f)                          */
#define RTC_ALARMA_SECONDEN_Pos           (7UL)                     /*!< SECONDEN (Bit 7)                                      */
#define RTC_ALARMA_SECONDEN_Msk           (0x80UL)                  /*!< SECONDEN (Bitfield-Mask: 0x01)                        */
#define RTC_ALARMA_SECOND_Pos             (0UL)                     /*!< SECOND (Bit 0)                                        */
#define RTC_ALARMA_SECOND_Msk             (0x7fUL)                  /*!< SECOND (Bitfield-Mask: 0x7f)                          */
/* ========================================================  ALARMB  ========================================================= */
#define RTC_ALARMB_WEEKMASK_Pos           (24UL)                    /*!< WEEKMASK (Bit 24)                                     */
#define RTC_ALARMB_WEEKMASK_Msk           (0x7f000000UL)            /*!< WEEKMASK (Bitfield-Mask: 0x7f)                        */
#define RTC_ALARMB_HOUREN_Pos             (23UL)                    /*!< HOUREN (Bit 23)                                       */
#define RTC_ALARMB_HOUREN_Msk             (0x800000UL)              /*!< HOUREN (Bitfield-Mask: 0x01)                          */
#define RTC_ALARMB_HOUR_Pos               (16UL)                    /*!< HOUR (Bit 16)                                         */
#define RTC_ALARMB_HOUR_Msk               (0x3f0000UL)              /*!< HOUR (Bitfield-Mask: 0x3f)                            */
#define RTC_ALARMB_MINUTEEN_Pos           (15UL)                    /*!< MINUTEEN (Bit 15)                                     */
#define RTC_ALARMB_MINUTEEN_Msk           (0x8000UL)                /*!< MINUTEEN (Bitfield-Mask: 0x01)                        */
#define RTC_ALARMB_MINUTE_Pos             (8UL)                     /*!< MINUTE (Bit 8)                                        */
#define RTC_ALARMB_MINUTE_Msk             (0x7f00UL)                /*!< MINUTE (Bitfield-Mask: 0x7f)                          */
#define RTC_ALARMB_SECONDEN_Pos           (7UL)                     /*!< SECONDEN (Bit 7)                                      */
#define RTC_ALARMB_SECONDEN_Msk           (0x80UL)                  /*!< SECONDEN (Bitfield-Mask: 0x01)                        */
#define RTC_ALARMB_SECOND_Pos             (0UL)                     /*!< SECOND (Bit 0)                                        */
#define RTC_ALARMB_SECOND_Msk             (0x7fUL)                  /*!< SECOND (Bitfield-Mask: 0x7f)                          */
/* =======================================================  TAMPDATE  ======================================================== */
#define RTC_TAMPDATE_WEEK_Pos             (13UL)                    /*!< WEEK (Bit 13)                                         */
#define RTC_TAMPDATE_WEEK_Msk             (0xe000UL)                /*!< WEEK (Bitfield-Mask: 0x07)                            */
#define RTC_TAMPDATE_MONTH_Pos            (8UL)                     /*!< MONTH (Bit 8)                                         */
#define RTC_TAMPDATE_MONTH_Msk            (0x1f00UL)                /*!< MONTH (Bitfield-Mask: 0x1f)                           */
#define RTC_TAMPDATE_DAY_Pos              (0UL)                     /*!< DAY (Bit 0)                                           */
#define RTC_TAMPDATE_DAY_Msk              (0x3fUL)                  /*!< DAY (Bitfield-Mask: 0x3f)                             */
/* =======================================================  TAMPTIME  ======================================================== */
#define RTC_TAMPTIME_HOUR_Pos             (16UL)                    /*!< HOUR (Bit 16)                                         */
#define RTC_TAMPTIME_HOUR_Msk             (0x3f0000UL)              /*!< HOUR (Bitfield-Mask: 0x3f)                            */
#define RTC_TAMPTIME_MINUTE_Pos           (8UL)                     /*!< MINUTE (Bit 8)                                        */
#define RTC_TAMPTIME_MINUTE_Msk           (0x7f00UL)                /*!< MINUTE (Bitfield-Mask: 0x7f)                          */
#define RTC_TAMPTIME_SECOND_Pos           (0UL)                     /*!< SECOND (Bit 0)                                        */
#define RTC_TAMPTIME_SECOND_Msk           (0x7fUL)                  /*!< SECOND (Bitfield-Mask: 0x7f)                          */
/* ==========================================================  IER  ========================================================== */
#define RTC_IER_INTERVAL_Pos              (6UL)                     /*!< INTERVAL (Bit 6)                                      */
#define RTC_IER_INTERVAL_Msk              (0x40UL)                  /*!< INTERVAL (Bitfield-Mask: 0x01)                        */
#define RTC_IER_TAMPOV_Pos                (4UL)                     /*!< TAMPOV (Bit 4)                                        */
#define RTC_IER_TAMPOV_Msk                (0x10UL)                  /*!< TAMPOV (Bitfield-Mask: 0x01)                          */
#define RTC_IER_TAMP_Pos                  (3UL)                     /*!< TAMP (Bit 3)                                          */
#define RTC_IER_TAMP_Msk                  (0x8UL)                   /*!< TAMP (Bitfield-Mask: 0x01)                            */
#define RTC_IER_AWTIMER_Pos               (2UL)                     /*!< AWTIMER (Bit 2)                                       */
#define RTC_IER_AWTIMER_Msk               (0x4UL)                   /*!< AWTIMER (Bitfield-Mask: 0x01)                         */
#define RTC_IER_ALARMB_Pos                (1UL)                     /*!< ALARMB (Bit 1)                                        */
#define RTC_IER_ALARMB_Msk                (0x2UL)                   /*!< ALARMB (Bitfield-Mask: 0x01)                          */
#define RTC_IER_ALARMA_Pos                (0UL)                     /*!< ALARMA (Bit 0)                                        */
#define RTC_IER_ALARMA_Msk                (0x1UL)                   /*!< ALARMA (Bitfield-Mask: 0x01)                          */
/* ==========================================================  ISR  ========================================================== */
#define RTC_ISR_INTERVAL_Pos              (6UL)                     /*!< INTERVAL (Bit 6)                                      */
#define RTC_ISR_INTERVAL_Msk              (0x40UL)                  /*!< INTERVAL (Bitfield-Mask: 0x01)                        */
#define RTC_ISR_TAMPOV_Pos                (4UL)                     /*!< TAMPOV (Bit 4)                                        */
#define RTC_ISR_TAMPOV_Msk                (0x10UL)                  /*!< TAMPOV (Bitfield-Mask: 0x01)                          */
#define RTC_ISR_TAMP_Pos                  (3UL)                     /*!< TAMP (Bit 3)                                          */
#define RTC_ISR_TAMP_Msk                  (0x8UL)                   /*!< TAMP (Bitfield-Mask: 0x01)                            */
#define RTC_ISR_AWTIMER_Pos               (2UL)                     /*!< AWTIMER (Bit 2)                                       */
#define RTC_ISR_AWTIMER_Msk               (0x4UL)                   /*!< AWTIMER (Bitfield-Mask: 0x01)                         */
#define RTC_ISR_ALARMB_Pos                (1UL)                     /*!< ALARMB (Bit 1)                                        */
#define RTC_ISR_ALARMB_Msk                (0x2UL)                   /*!< ALARMB (Bitfield-Mask: 0x01)                          */
#define RTC_ISR_ALARMA_Pos                (0UL)                     /*!< ALARMA (Bit 0)                                        */
#define RTC_ISR_ALARMA_Msk                (0x1UL)                   /*!< ALARMA (Bitfield-Mask: 0x01)                          */
/* ==========================================================  ICR  ========================================================== */
#define RTC_ICR_INTERVAL_Pos              (6UL)                     /*!< INTERVAL (Bit 6)                                      */
#define RTC_ICR_INTERVAL_Msk              (0x40UL)                  /*!< INTERVAL (Bitfield-Mask: 0x01)                        */
#define RTC_ICR_TAMPOV_Pos                (4UL)                     /*!< TAMPOV (Bit 4)                                        */
#define RTC_ICR_TAMPOV_Msk                (0x10UL)                  /*!< TAMPOV (Bitfield-Mask: 0x01)                          */
#define RTC_ICR_TAMP_Pos                  (3UL)                     /*!< TAMP (Bit 3)                                          */
#define RTC_ICR_TAMP_Msk                  (0x8UL)                   /*!< TAMP (Bitfield-Mask: 0x01)                            */
#define RTC_ICR_AWTIMER_Pos               (2UL)                     /*!< AWTIMER (Bit 2)                                       */
#define RTC_ICR_AWTIMER_Msk               (0x4UL)                   /*!< AWTIMER (Bitfield-Mask: 0x01)                         */
#define RTC_ICR_ALARMB_Pos                (1UL)                     /*!< ALARMB (Bit 1)                                        */
#define RTC_ICR_ALARMB_Msk                (0x2UL)                   /*!< ALARMB (Bitfield-Mask: 0x01)                          */
#define RTC_ICR_ALARMA_Pos                (0UL)                     /*!< ALARMA (Bit 0)                                        */
#define RTC_ICR_ALARMA_Msk                (0x1UL)                   /*!< ALARMA (Bitfield-Mask: 0x01)                          */
/* ========================================================  AWTARR  ========================================================= */
#define RTC_AWTARR_ARR_Pos                (0UL)                     /*!< ARR (Bit 0)                                           */
#define RTC_AWTARR_ARR_Msk                (0xffffUL)                /*!< ARR (Bitfield-Mask: 0xffff)                           */
/* ========================================================  AWTCNT  ========================================================= */
#define RTC_AWTCNT_CNT_Pos                (0UL)                     /*!< CNT (Bit 0)                                           */
#define RTC_AWTCNT_CNT_Msk                (0xffffUL)                /*!< CNT (Bitfield-Mask: 0xffff)                           */
/* =======================================================  COMPCFR1  ======================================================== */
#define RTC_COMPCFR1_EN_Pos               (15UL)                    /*!< EN (Bit 15)                                           */
#define RTC_COMPCFR1_EN_Msk               (0x8000UL)                /*!< EN (Bitfield-Mask: 0x01)                              */
#define RTC_COMPCFR1_SIGN_Pos             (14UL)                    /*!< SIGN (Bit 14)                                         */
#define RTC_COMPCFR1_SIGN_Msk             (0x4000UL)                /*!< SIGN (Bitfield-Mask: 0x01)                            */
#define RTC_COMPCFR1_PERIOD_Pos           (12UL)                    /*!< PERIOD (Bit 12)                                       */
#define RTC_COMPCFR1_PERIOD_Msk           (0x3000UL)                /*!< PERIOD (Bitfield-Mask: 0x03)                          */
#define RTC_COMPCFR1_COMP_Pos             (0UL)                     /*!< COMP (Bit 0)                                          */
#define RTC_COMPCFR1_COMP_Msk             (0xfffUL)                 /*!< COMP (Bitfield-Mask: 0xfff)                           */
/* =======================================================  COMPCFR2  ======================================================== */
#define RTC_COMPCFR2_PCLKCNT_Pos          (0UL)                     /*!< PCLKCNT (Bit 0)                                       */
#define RTC_COMPCFR2_PCLKCNT_Msk          (0x7ffUL)                 /*!< PCLKCNT (Bitfield-Mask: 0x7ff)                        */
/* =======================================================  COMPCFR3  ======================================================== */
#define RTC_COMPCFR3_PCLKCNT_Pos          (0UL)                     /*!< PCLKCNT (Bit 0)                                       */
#define RTC_COMPCFR3_PCLKCNT_Msk          (0x7ffUL)                 /*!< PCLKCNT (Bitfield-Mask: 0x7ff)                        */


/* =========================================================================================================================== */
/* ================                                            SPI                                            ================ */
/* =========================================================================================================================== */

/* ==========================================================  CR1  ========================================================== */
#define SPI_CR1_SMP_Pos                   (20UL)                    /*!< SMP (Bit 20)                                          */
#define SPI_CR1_SMP_Msk                   (0x100000UL)              /*!< SMP (Bitfield-Mask: 0x01)                             */
#define SPI_CR1_MISOHD_Pos                (19UL)                    /*!< MISOHD (Bit 19)                                       */
#define SPI_CR1_MISOHD_Msk                (0x80000UL)               /*!< MISOHD (Bitfield-Mask: 0x01)                          */
#define SPI_CR1_FLTEN_Pos                 (18UL)                    /*!< FLTEN (Bit 18)                                        */
#define SPI_CR1_FLTEN_Msk                 (0x40000UL)               /*!< FLTEN (Bitfield-Mask: 0x01)                           */
#define SPI_CR1_MODE_Pos                  (16UL)                    /*!< MODE (Bit 16)                                         */
#define SPI_CR1_MODE_Msk                  (0x30000UL)               /*!< MODE (Bitfield-Mask: 0x03)                            */
#define SPI_CR1_GAP_Pos                   (12UL)                    /*!< GAP (Bit 12)                                          */
#define SPI_CR1_GAP_Msk                   (0xf000UL)                /*!< GAP (Bitfield-Mask: 0x0f)                             */
#define SPI_CR1_WIDTH_Pos                 (8UL)                     /*!< WIDTH (Bit 8)                                         */
#define SPI_CR1_WIDTH_Msk                 (0xf00UL)                 /*!< WIDTH (Bitfield-Mask: 0x0f)                           */
#define SPI_CR1_LSBF_Pos                  (7UL)                     /*!< LSBF (Bit 7)                                          */
#define SPI_CR1_LSBF_Msk                  (0x80UL)                  /*!< LSBF (Bitfield-Mask: 0x01)                            */
#define SPI_CR1_BR_Pos                    (4UL)                     /*!< BR (Bit 4)                                            */
#define SPI_CR1_BR_Msk                    (0x70UL)                  /*!< BR (Bitfield-Mask: 0x07)                              */
#define SPI_CR1_CPOL_Pos                  (3UL)                     /*!< CPOL (Bit 3)                                          */
#define SPI_CR1_CPOL_Msk                  (0x8UL)                   /*!< CPOL (Bitfield-Mask: 0x01)                            */
#define SPI_CR1_CPHA_Pos                  (2UL)                     /*!< CPHA (Bit 2)                                          */
#define SPI_CR1_CPHA_Msk                  (0x4UL)                   /*!< CPHA (Bitfield-Mask: 0x01)                            */
#define SPI_CR1_SSM_Pos                   (1UL)                     /*!< SSM (Bit 1)                                           */
#define SPI_CR1_SSM_Msk                   (0x2UL)                   /*!< SSM (Bitfield-Mask: 0x01)                             */
#define SPI_CR1_MSTR_Pos                  (0UL)                     /*!< MSTR (Bit 0)                                          */
#define SPI_CR1_MSTR_Msk                  (0x1UL)                   /*!< MSTR (Bitfield-Mask: 0x01)                            */
/* ==========================================================  CR2  ========================================================== */
#define SPI_CR2_ADCTX_Pos                 (4UL)                     /*!< ADCTX (Bit 4)                                         */
#define SPI_CR2_ADCTX_Msk                 (0x10UL)                  /*!< ADCTX (Bitfield-Mask: 0x01)                           */
#define SPI_CR2_ADCRX_Pos                 (3UL)                     /*!< ADCRX (Bit 3)                                         */
#define SPI_CR2_ADCRX_Msk                 (0x8UL)                   /*!< ADCRX (Bitfield-Mask: 0x01)                           */
#define SPI_CR2_EN_Pos                    (0UL)                     /*!< EN (Bit 0)                                            */
#define SPI_CR2_EN_Msk                    (0x1UL)                   /*!< EN (Bitfield-Mask: 0x01)                              */
/* ==========================================================  CR3  ========================================================== */
#define SPI_CR3_HDOE_Pos                  (0UL)                     /*!< HDOE (Bit 0)                                          */
#define SPI_CR3_HDOE_Msk                  (0x1UL)                   /*!< HDOE (Bitfield-Mask: 0x01)                            */
/* ==========================================================  SSI  ========================================================== */
#define SPI_SSI_SSI_Pos                   (0UL)                     /*!< SSI (Bit 0)                                           */
#define SPI_SSI_SSI_Msk                   (0x1UL)                   /*!< SSI (Bitfield-Mask: 0x01)                             */
/* ==========================================================  IER  ========================================================== */
#define SPI_IER_MODF_Pos                  (7UL)                     /*!< MODF (Bit 7)                                          */
#define SPI_IER_MODF_Msk                  (0x80UL)                  /*!< MODF (Bitfield-Mask: 0x01)                            */
#define SPI_IER_SSERR_Pos                 (6UL)                     /*!< SSERR (Bit 6)                                         */
#define SPI_IER_SSERR_Msk                 (0x40UL)                  /*!< SSERR (Bitfield-Mask: 0x01)                           */
#define SPI_IER_OV_Pos                    (5UL)                     /*!< OV (Bit 5)                                            */
#define SPI_IER_OV_Msk                    (0x20UL)                  /*!< OV (Bitfield-Mask: 0x01)                              */
#define SPI_IER_UD_Pos                    (4UL)                     /*!< UD (Bit 4)                                            */
#define SPI_IER_UD_Msk                    (0x10UL)                  /*!< UD (Bitfield-Mask: 0x01)                              */
#define SPI_IER_SSR_Pos                   (3UL)                     /*!< SSR (Bit 3)                                           */
#define SPI_IER_SSR_Msk                   (0x8UL)                   /*!< SSR (Bitfield-Mask: 0x01)                             */
#define SPI_IER_SSF_Pos                   (2UL)                     /*!< SSF (Bit 2)                                           */
#define SPI_IER_SSF_Msk                   (0x4UL)                   /*!< SSF (Bitfield-Mask: 0x01)                             */
#define SPI_IER_RXNE_Pos                  (1UL)                     /*!< RXNE (Bit 1)                                          */
#define SPI_IER_RXNE_Msk                  (0x2UL)                   /*!< RXNE (Bitfield-Mask: 0x01)                            */
#define SPI_IER_TXE_Pos                   (0UL)                     /*!< TXE (Bit 0)                                           */
#define SPI_IER_TXE_Msk                   (0x1UL)                   /*!< TXE (Bitfield-Mask: 0x01)                             */
/* ==========================================================  ISR  ========================================================== */
#define SPI_ISR_SSLVL_Pos                 (9UL)                     /*!< SSLVL (Bit 9)                                         */
#define SPI_ISR_SSLVL_Msk                 (0x200UL)                 /*!< SSLVL (Bitfield-Mask: 0x01)                           */
#define SPI_ISR_BUSY_Pos                  (8UL)                     /*!< BUSY (Bit 8)                                          */
#define SPI_ISR_BUSY_Msk                  (0x100UL)                 /*!< BUSY (Bitfield-Mask: 0x01)                            */
#define SPI_ISR_MODF_Pos                  (7UL)                     /*!< MODF (Bit 7)                                          */
#define SPI_ISR_MODF_Msk                  (0x80UL)                  /*!< MODF (Bitfield-Mask: 0x01)                            */
#define SPI_ISR_SSERR_Pos                 (6UL)                     /*!< SSERR (Bit 6)                                         */
#define SPI_ISR_SSERR_Msk                 (0x40UL)                  /*!< SSERR (Bitfield-Mask: 0x01)                           */
#define SPI_ISR_OV_Pos                    (5UL)                     /*!< OV (Bit 5)                                            */
#define SPI_ISR_OV_Msk                    (0x20UL)                  /*!< OV (Bitfield-Mask: 0x01)                              */
#define SPI_ISR_UD_Pos                    (4UL)                     /*!< UD (Bit 4)                                            */
#define SPI_ISR_UD_Msk                    (0x10UL)                  /*!< UD (Bitfield-Mask: 0x01)                              */
#define SPI_ISR_SSR_Pos                   (3UL)                     /*!< SSR (Bit 3)                                           */
#define SPI_ISR_SSR_Msk                   (0x8UL)                   /*!< SSR (Bitfield-Mask: 0x01)                             */
#define SPI_ISR_SSF_Pos                   (2UL)                     /*!< SSF (Bit 2)                                           */
#define SPI_ISR_SSF_Msk                   (0x4UL)                   /*!< SSF (Bitfield-Mask: 0x01)                             */
#define SPI_ISR_RXNE_Pos                  (1UL)                     /*!< RXNE (Bit 1)                                          */
#define SPI_ISR_RXNE_Msk                  (0x2UL)                   /*!< RXNE (Bitfield-Mask: 0x01)                            */
#define SPI_ISR_TXE_Pos                   (0UL)                     /*!< TXE (Bit 0)                                           */
#define SPI_ISR_TXE_Msk                   (0x1UL)                   /*!< TXE (Bitfield-Mask: 0x01)                             */
/* ==========================================================  ICR  ========================================================== */
#define SPI_ICR_MODF_Pos                  (7UL)                     /*!< MODF (Bit 7)                                          */
#define SPI_ICR_MODF_Msk                  (0x80UL)                  /*!< MODF (Bitfield-Mask: 0x01)                            */
#define SPI_ICR_SSERR_Pos                 (6UL)                     /*!< SSERR (Bit 6)                                         */
#define SPI_ICR_SSERR_Msk                 (0x40UL)                  /*!< SSERR (Bitfield-Mask: 0x01)                           */
#define SPI_ICR_OV_Pos                    (5UL)                     /*!< OV (Bit 5)                                            */
#define SPI_ICR_OV_Msk                    (0x20UL)                  /*!< OV (Bitfield-Mask: 0x01)                              */
#define SPI_ICR_UD_Pos                    (4UL)                     /*!< UD (Bit 4)                                            */
#define SPI_ICR_UD_Msk                    (0x10UL)                  /*!< UD (Bitfield-Mask: 0x01)                              */
#define SPI_ICR_SSR_Pos                   (3UL)                     /*!< SSR (Bit 3)                                           */
#define SPI_ICR_SSR_Msk                   (0x8UL)                   /*!< SSR (Bitfield-Mask: 0x01)                             */
#define SPI_ICR_SSF_Pos                   (2UL)                     /*!< SSF (Bit 2)                                           */
#define SPI_ICR_SSF_Msk                   (0x4UL)                   /*!< SSF (Bitfield-Mask: 0x01)                             */
#define SPI_ICR_RXNE_Pos                  (1UL)                     /*!< RXNE (Bit 1)                                          */
#define SPI_ICR_RXNE_Msk                  (0x2UL)                   /*!< RXNE (Bitfield-Mask: 0x01)                            */
#define SPI_ICR_FLUSH_Pos                 (0UL)                     /*!< FLUSH (Bit 0)                                         */
#define SPI_ICR_FLUSH_Msk                 (0x1UL)                   /*!< FLUSH (Bitfield-Mask: 0x01)                           */
/* ==========================================================  DR  =========================================================== */
#define SPI_DR_DR_Pos                     (0UL)                     /*!< DR (Bit 0)                                            */
#define SPI_DR_DR_Msk                     (0xffffUL)                /*!< DR (Bitfield-Mask: 0xffff)                            */


/* =========================================================================================================================== */
/* ================                                          SYSCTRL                                          ================ */
/* =========================================================================================================================== */

/* ==========================================================  CR0  ========================================================== */
#define SYSCTRL_CR0_KEY_Pos               (16UL)                    /*!< KEY (Bit 16)                                          */
#define SYSCTRL_CR0_KEY_Msk               (0xffff0000UL)            /*!< KEY (Bitfield-Mask: 0xffff)                           */
#define SYSCTRL_CR0_HCLKPRS_Pos           (5UL)                     /*!< HCLKPRS (Bit 5)                                       */
#define SYSCTRL_CR0_HCLKPRS_Msk           (0xe0UL)                  /*!< HCLKPRS (Bitfield-Mask: 0x07)                         */
#define SYSCTRL_CR0_PCLKPRS_Pos           (3UL)                     /*!< PCLKPRS (Bit 3)                                       */
#define SYSCTRL_CR0_PCLKPRS_Msk           (0x18UL)                  /*!< PCLKPRS (Bitfield-Mask: 0x03)                         */
#define SYSCTRL_CR0_SYSCLK_Pos            (0UL)                     /*!< SYSCLK (Bit 0)                                        */
#define SYSCTRL_CR0_SYSCLK_Msk            (0x7UL)                   /*!< SYSCLK (Bitfield-Mask: 0x07)                          */
/* ==========================================================  CR1  ========================================================== */
#define SYSCTRL_CR1_KEY_Pos               (16UL)                    /*!< KEY (Bit 16)                                          */
#define SYSCTRL_CR1_KEY_Msk               (0xffff0000UL)            /*!< KEY (Bitfield-Mask: 0xffff)                           */
#define SYSCTRL_CR1_CLKCCS_Pos            (8UL)                     /*!< CLKCCS (Bit 8)                                        */
#define SYSCTRL_CR1_CLKCCS_Msk            (0x100UL)                 /*!< CLKCCS (Bitfield-Mask: 0x01)                          */
#define SYSCTRL_CR1_HSECCS_Pos            (7UL)                     /*!< HSECCS (Bit 7)                                        */
#define SYSCTRL_CR1_HSECCS_Msk            (0x80UL)                  /*!< HSECCS (Bitfield-Mask: 0x01)                          */
#define SYSCTRL_CR1_LSECCS_Pos            (6UL)                     /*!< LSECCS (Bit 6)                                        */
#define SYSCTRL_CR1_LSECCS_Msk            (0x40UL)                  /*!< LSECCS (Bitfield-Mask: 0x01)                          */
#define SYSCTRL_CR1_LSELOCK_Pos           (5UL)                     /*!< LSELOCK (Bit 5)                                       */
#define SYSCTRL_CR1_LSELOCK_Msk           (0x20UL)                  /*!< LSELOCK (Bitfield-Mask: 0x01)                         */
#define SYSCTRL_CR1_LSEEN_Pos             (4UL)                     /*!< LSEEN (Bit 4)                                         */
#define SYSCTRL_CR1_LSEEN_Msk             (0x10UL)                  /*!< LSEEN (Bitfield-Mask: 0x01)                           */
#define SYSCTRL_CR1_LSIEN_Pos             (3UL)                     /*!< LSIEN (Bit 3)                                         */
#define SYSCTRL_CR1_LSIEN_Msk             (0x8UL)                   /*!< LSIEN (Bitfield-Mask: 0x01)                           */
#define SYSCTRL_CR1_HSEEN_Pos             (1UL)                     /*!< HSEEN (Bit 1)                                         */
#define SYSCTRL_CR1_HSEEN_Msk             (0x2UL)                   /*!< HSEEN (Bitfield-Mask: 0x01)                           */
#define SYSCTRL_CR1_HSIEN_Pos             (0UL)                     /*!< HSIEN (Bit 0)                                         */
#define SYSCTRL_CR1_HSIEN_Msk             (0x1UL)                   /*!< HSIEN (Bitfield-Mask: 0x01)                           */
/* ==========================================================  CR2  ========================================================== */
#define SYSCTRL_CR2_KEY_Pos               (16UL)                    /*!< KEY (Bit 16)                                          */
#define SYSCTRL_CR2_KEY_Msk               (0xffff0000UL)            /*!< KEY (Bitfield-Mask: 0xffff)                           */
#define SYSCTRL_CR2_RAMBRKEN_Pos          (15UL)                    /*!< RAMBRKEN (Bit 15)                                     */
#define SYSCTRL_CR2_RAMBRKEN_Msk          (0x8000UL)                /*!< RAMBRKEN (Bitfield-Mask: 0x01)                        */
#define SYSCTRL_CR2_LVDBRKEN_Pos          (14UL)                    /*!< LVDBRKEN (Bit 14)                                     */
#define SYSCTRL_CR2_LVDBRKEN_Msk          (0x4000UL)                /*!< LVDBRKEN (Bitfield-Mask: 0x01)                        */
#define SYSCTRL_CR2_DSBRKEN_Pos           (13UL)                    /*!< DSBRKEN (Bit 13)                                      */
#define SYSCTRL_CR2_DSBRKEN_Msk           (0x2000UL)                /*!< DSBRKEN (Bitfield-Mask: 0x01)                         */
#define SYSCTRL_CR2_CLLBRKEN_Pos          (12UL)                    /*!< CLLBRKEN (Bit 12)                                     */
#define SYSCTRL_CR2_CLLBRKEN_Msk          (0x1000UL)                /*!< CLLBRKEN (Bitfield-Mask: 0x01)                        */
#define SYSCTRL_CR2_LSEBRKEN_Pos          (11UL)                    /*!< LSEBRKEN (Bit 11)                                     */
#define SYSCTRL_CR2_LSEBRKEN_Msk          (0x800UL)                 /*!< LSEBRKEN (Bitfield-Mask: 0x01)                        */
#define SYSCTRL_CR2_HSEBRKEN_Pos          (10UL)                    /*!< HSEBRKEN (Bit 10)                                     */
#define SYSCTRL_CR2_HSEBRKEN_Msk          (0x400UL)                 /*!< HSEBRKEN (Bitfield-Mask: 0x01)                        */
#define SYSCTRL_CR2_RTCLPM_Pos            (7UL)                     /*!< RTCLPM (Bit 7)                                        */
#define SYSCTRL_CR2_RTCLPM_Msk            (0x80UL)                  /*!< RTCLPM (Bitfield-Mask: 0x01)                          */
#define SYSCTRL_CR2_FLASHWAIT_Pos         (4UL)                     /*!< FLASHWAIT (Bit 4)                                     */
#define SYSCTRL_CR2_FLASHWAIT_Msk         (0x70UL)                  /*!< FLASHWAIT (Bitfield-Mask: 0x07)                       */
#define SYSCTRL_CR2_WAKEUPCLK_Pos         (3UL)                     /*!< WAKEUPCLK (Bit 3)                                     */
#define SYSCTRL_CR2_WAKEUPCLK_Msk         (0x8UL)                   /*!< WAKEUPCLK (Bitfield-Mask: 0x01)                       */
#define SYSCTRL_CR2_LOCKUP_Pos            (2UL)                     /*!< LOCKUP (Bit 2)                                        */
#define SYSCTRL_CR2_LOCKUP_Msk            (0x4UL)                   /*!< LOCKUP (Bitfield-Mask: 0x01)                          */
#define SYSCTRL_CR2_SWDIO_Pos             (1UL)                     /*!< SWDIO (Bit 1)                                         */
#define SYSCTRL_CR2_SWDIO_Msk             (0x2UL)                   /*!< SWDIO (Bitfield-Mask: 0x01)                           */
#define SYSCTRL_CR2_RSTIO_Pos             (0UL)                     /*!< RSTIO (Bit 0)                                         */
#define SYSCTRL_CR2_RSTIO_Msk             (0x1UL)                   /*!< RSTIO (Bitfield-Mask: 0x01)                           */
/* ==========================================================  IER  ========================================================== */
#define SYSCTRL_IER_KEY_Pos               (16UL)                    /*!< KEY (Bit 16)                                          */
#define SYSCTRL_IER_KEY_Msk               (0xffff0000UL)            /*!< KEY (Bitfield-Mask: 0xffff)                           */
#define SYSCTRL_IER_HSEFAULT_Pos          (8UL)                     /*!< HSEFAULT (Bit 8)                                      */
#define SYSCTRL_IER_HSEFAULT_Msk          (0x100UL)                 /*!< HSEFAULT (Bitfield-Mask: 0x01)                        */
#define SYSCTRL_IER_LSEFAULT_Pos          (7UL)                     /*!< LSEFAULT (Bit 7)                                      */
#define SYSCTRL_IER_LSEFAULT_Msk          (0x80UL)                  /*!< LSEFAULT (Bitfield-Mask: 0x01)                        */
#define SYSCTRL_IER_HSEFAIL_Pos           (6UL)                     /*!< HSEFAIL (Bit 6)                                       */
#define SYSCTRL_IER_HSEFAIL_Msk           (0x40UL)                  /*!< HSEFAIL (Bitfield-Mask: 0x01)                         */
#define SYSCTRL_IER_LSEFAIL_Pos           (5UL)                     /*!< LSEFAIL (Bit 5)                                       */
#define SYSCTRL_IER_LSEFAIL_Msk           (0x20UL)                  /*!< LSEFAIL (Bitfield-Mask: 0x01)                         */
#define SYSCTRL_IER_LSERDY_Pos            (4UL)                     /*!< LSERDY (Bit 4)                                        */
#define SYSCTRL_IER_LSERDY_Msk            (0x10UL)                  /*!< LSERDY (Bitfield-Mask: 0x01)                          */
#define SYSCTRL_IER_LSIRDY_Pos            (3UL)                     /*!< LSIRDY (Bit 3)                                        */
#define SYSCTRL_IER_LSIRDY_Msk            (0x8UL)                   /*!< LSIRDY (Bitfield-Mask: 0x01)                          */
#define SYSCTRL_IER_HSERDY_Pos            (1UL)                     /*!< HSERDY (Bit 1)                                        */
#define SYSCTRL_IER_HSERDY_Msk            (0x2UL)                   /*!< HSERDY (Bitfield-Mask: 0x01)                          */
#define SYSCTRL_IER_HSIRDY_Pos            (0UL)                     /*!< HSIRDY (Bit 0)                                        */
#define SYSCTRL_IER_HSIRDY_Msk            (0x1UL)                   /*!< HSIRDY (Bitfield-Mask: 0x01)                          */
/* ==========================================================  ISR  ========================================================== */
#define SYSCTRL_ISR_LSESTABLE_Pos         (15UL)                    /*!< LSESTABLE (Bit 15)                                    */
#define SYSCTRL_ISR_LSESTABLE_Msk         (0x8000UL)                /*!< LSESTABLE (Bitfield-Mask: 0x01)                       */
#define SYSCTRL_ISR_LSISTABLE_Pos         (14UL)                    /*!< LSISTABLE (Bit 14)                                    */
#define SYSCTRL_ISR_LSISTABLE_Msk         (0x4000UL)                /*!< LSISTABLE (Bitfield-Mask: 0x01)                       */
#define SYSCTRL_ISR_HSESTABLE_Pos         (12UL)                    /*!< HSESTABLE (Bit 12)                                    */
#define SYSCTRL_ISR_HSESTABLE_Msk         (0x1000UL)                /*!< HSESTABLE (Bitfield-Mask: 0x01)                       */
#define SYSCTRL_ISR_HSISTABLE_Pos         (11UL)                    /*!< HSISTABLE (Bit 11)                                    */
#define SYSCTRL_ISR_HSISTABLE_Msk         (0x800UL)                 /*!< HSISTABLE (Bitfield-Mask: 0x01)                       */
#define SYSCTRL_ISR_HSEFAULT_Pos          (8UL)                     /*!< HSEFAULT (Bit 8)                                      */
#define SYSCTRL_ISR_HSEFAULT_Msk          (0x100UL)                 /*!< HSEFAULT (Bitfield-Mask: 0x01)                        */
#define SYSCTRL_ISR_LSEFAULT_Pos          (7UL)                     /*!< LSEFAULT (Bit 7)                                      */
#define SYSCTRL_ISR_LSEFAULT_Msk          (0x80UL)                  /*!< LSEFAULT (Bitfield-Mask: 0x01)                        */
#define SYSCTRL_ISR_HSEFAIL_Pos           (6UL)                     /*!< HSEFAIL (Bit 6)                                       */
#define SYSCTRL_ISR_HSEFAIL_Msk           (0x40UL)                  /*!< HSEFAIL (Bitfield-Mask: 0x01)                         */
#define SYSCTRL_ISR_LSEFAIL_Pos           (5UL)                     /*!< LSEFAIL (Bit 5)                                       */
#define SYSCTRL_ISR_LSEFAIL_Msk           (0x20UL)                  /*!< LSEFAIL (Bitfield-Mask: 0x01)                         */
#define SYSCTRL_ISR_LSERDY_Pos            (4UL)                     /*!< LSERDY (Bit 4)                                        */
#define SYSCTRL_ISR_LSERDY_Msk            (0x10UL)                  /*!< LSERDY (Bitfield-Mask: 0x01)                          */
#define SYSCTRL_ISR_LSIRDY_Pos            (3UL)                     /*!< LSIRDY (Bit 3)                                        */
#define SYSCTRL_ISR_LSIRDY_Msk            (0x8UL)                   /*!< LSIRDY (Bitfield-Mask: 0x01)                          */
#define SYSCTRL_ISR_HSERDY_Pos            (1UL)                     /*!< HSERDY (Bit 1)                                        */
#define SYSCTRL_ISR_HSERDY_Msk            (0x2UL)                   /*!< HSERDY (Bitfield-Mask: 0x01)                          */
#define SYSCTRL_ISR_HSIRDY_Pos            (0UL)                     /*!< HSIRDY (Bit 0)                                        */
#define SYSCTRL_ISR_HSIRDY_Msk            (0x1UL)                   /*!< HSIRDY (Bitfield-Mask: 0x01)                          */
/* ==========================================================  ICR  ========================================================== */
#define SYSCTRL_ICR_HSEFAULT_Pos          (8UL)                     /*!< HSEFAULT (Bit 8)                                      */
#define SYSCTRL_ICR_HSEFAULT_Msk          (0x100UL)                 /*!< HSEFAULT (Bitfield-Mask: 0x01)                        */
#define SYSCTRL_ICR_LSEFAULT_Pos          (7UL)                     /*!< LSEFAULT (Bit 7)                                      */
#define SYSCTRL_ICR_LSEFAULT_Msk          (0x80UL)                  /*!< LSEFAULT (Bitfield-Mask: 0x01)                        */
#define SYSCTRL_ICR_HSEFAIL_Pos           (6UL)                     /*!< HSEFAIL (Bit 6)                                       */
#define SYSCTRL_ICR_HSEFAIL_Msk           (0x40UL)                  /*!< HSEFAIL (Bitfield-Mask: 0x01)                         */
#define SYSCTRL_ICR_LSEFAIL_Pos           (5UL)                     /*!< LSEFAIL (Bit 5)                                       */
#define SYSCTRL_ICR_LSEFAIL_Msk           (0x20UL)                  /*!< LSEFAIL (Bitfield-Mask: 0x01)                         */
#define SYSCTRL_ICR_LSERDY_Pos            (4UL)                     /*!< LSERDY (Bit 4)                                        */
#define SYSCTRL_ICR_LSERDY_Msk            (0x10UL)                  /*!< LSERDY (Bitfield-Mask: 0x01)                          */
#define SYSCTRL_ICR_LSIRDY_Pos            (3UL)                     /*!< LSIRDY (Bit 3)                                        */
#define SYSCTRL_ICR_LSIRDY_Msk            (0x8UL)                   /*!< LSIRDY (Bitfield-Mask: 0x01)                          */
#define SYSCTRL_ICR_HSERDY_Pos            (1UL)                     /*!< HSERDY (Bit 1)                                        */
#define SYSCTRL_ICR_HSERDY_Msk            (0x2UL)                   /*!< HSERDY (Bitfield-Mask: 0x01)                          */
#define SYSCTRL_ICR_HSIRDY_Pos            (0UL)                     /*!< HSIRDY (Bit 0)                                        */
#define SYSCTRL_ICR_HSIRDY_Msk            (0x1UL)                   /*!< HSIRDY (Bitfield-Mask: 0x01)                          */
/* ==========================================================  HSI  ========================================================== */
#define SYSCTRL_HSI_STABLE_Pos            (15UL)                    /*!< STABLE (Bit 15)                                       */
#define SYSCTRL_HSI_STABLE_Msk            (0x8000UL)                /*!< STABLE (Bitfield-Mask: 0x01)                          */
#define SYSCTRL_HSI_DIV_Pos               (11UL)                    /*!< DIV (Bit 11)                                          */
#define SYSCTRL_HSI_DIV_Msk               (0x7800UL)                /*!< DIV (Bitfield-Mask: 0x0f)                             */
#define SYSCTRL_HSI_TRIM_Pos              (0UL)                     /*!< TRIM (Bit 0)                                          */
#define SYSCTRL_HSI_TRIM_Msk              (0x7ffUL)                 /*!< TRIM (Bitfield-Mask: 0x7ff)                           */
/* ==========================================================  HSE  ========================================================== */
#define SYSCTRL_HSE_DIGFLT_Pos            (24UL)                    /*!< DIGFLT (Bit 24)                                       */
#define SYSCTRL_HSE_DIGFLT_Msk            (0x1000000UL)             /*!< DIGFLT (Bitfield-Mask: 0x01)                          */
#define SYSCTRL_HSE_PDRIVER_Pos           (20UL)                    /*!< PDRIVER (Bit 20)                                      */
#define SYSCTRL_HSE_PDRIVER_Msk           (0xf00000UL)              /*!< PDRIVER (Bitfield-Mask: 0x0f)                         */
#define SYSCTRL_HSE_STABLE_Pos            (19UL)                    /*!< STABLE (Bit 19)                                       */
#define SYSCTRL_HSE_STABLE_Msk            (0x80000UL)               /*!< STABLE (Bitfield-Mask: 0x01)                          */
#define SYSCTRL_HSE_DETCNT_Pos            (8UL)                     /*!< DETCNT (Bit 8)                                        */
#define SYSCTRL_HSE_DETCNT_Msk            (0x7ff00UL)               /*!< DETCNT (Bitfield-Mask: 0x7ff)                         */
#define SYSCTRL_HSE_HEXENPOL_Pos          (7UL)                     /*!< HEXENPOL (Bit 7)                                      */
#define SYSCTRL_HSE_HEXENPOL_Msk          (0x80UL)                  /*!< HEXENPOL (Bitfield-Mask: 0x01)                        */
#define SYSCTRL_HSE_MODE_Pos              (6UL)                     /*!< MODE (Bit 6)                                          */
#define SYSCTRL_HSE_MODE_Msk              (0x40UL)                  /*!< MODE (Bitfield-Mask: 0x01)                            */
#define SYSCTRL_HSE_WAITCYCLE_Pos         (4UL)                     /*!< WAITCYCLE (Bit 4)                                     */
#define SYSCTRL_HSE_WAITCYCLE_Msk         (0x30UL)                  /*!< WAITCYCLE (Bitfield-Mask: 0x03)                       */
#define SYSCTRL_HSE_DRIVER_Pos            (0UL)                     /*!< DRIVER (Bit 0)                                        */
#define SYSCTRL_HSE_DRIVER_Msk            (0xfUL)                   /*!< DRIVER (Bitfield-Mask: 0x0f)                          */
/* ==========================================================  LSI  ========================================================== */
#define SYSCTRL_LSI_STABLE_Pos            (15UL)                    /*!< STABLE (Bit 15)                                       */
#define SYSCTRL_LSI_STABLE_Msk            (0x8000UL)                /*!< STABLE (Bitfield-Mask: 0x01)                          */
#define SYSCTRL_LSI_WAITCYCLE_Pos         (10UL)                    /*!< WAITCYCLE (Bit 10)                                    */
#define SYSCTRL_LSI_WAITCYCLE_Msk         (0xc00UL)                 /*!< WAITCYCLE (Bitfield-Mask: 0x03)                       */
#define SYSCTRL_LSI_TRIM_Pos              (0UL)                     /*!< TRIM (Bit 0)                                          */
#define SYSCTRL_LSI_TRIM_Msk              (0x3ffUL)                 /*!< TRIM (Bitfield-Mask: 0x3ff)                           */
/* ==========================================================  LSE  ========================================================== */
#define SYSCTRL_LSE_STABLE_Pos            (18UL)                    /*!< STABLE (Bit 18)                                       */
#define SYSCTRL_LSE_STABLE_Msk            (0x40000UL)               /*!< STABLE (Bitfield-Mask: 0x01)                          */
#define SYSCTRL_LSE_PINLOCK_Pos           (17UL)                    /*!< PINLOCK (Bit 17)                                      */
#define SYSCTRL_LSE_PINLOCK_Msk           (0x20000UL)               /*!< PINLOCK (Bitfield-Mask: 0x01)                         */
#define SYSCTRL_LSE_WP_Pos                (16UL)                    /*!< WP (Bit 16)                                           */
#define SYSCTRL_LSE_WP_Msk                (0x10000UL)               /*!< WP (Bitfield-Mask: 0x01)                              */
#define SYSCTRL_LSE_RESTRIM_Pos           (14UL)                    /*!< RESTRIM (Bit 14)                                      */
#define SYSCTRL_LSE_RESTRIM_Msk           (0xc000UL)                /*!< RESTRIM (Bitfield-Mask: 0x03)                         */
#define SYSCTRL_LSE_CPEN_Pos              (13UL)                    /*!< CPEN (Bit 13)                                         */
#define SYSCTRL_LSE_CPEN_Msk              (0x2000UL)                /*!< CPEN (Bitfield-Mask: 0x01)                            */
#define SYSCTRL_LSE_COMP_Pos              (12UL)                    /*!< COMP (Bit 12)                                         */
#define SYSCTRL_LSE_COMP_Msk              (0x1000UL)                /*!< COMP (Bitfield-Mask: 0x01)                            */
#define SYSCTRL_LSE_PDRIVER_Pos           (8UL)                     /*!< PDRIVER (Bit 8)                                       */
#define SYSCTRL_LSE_PDRIVER_Msk           (0xf00UL)                 /*!< PDRIVER (Bitfield-Mask: 0x0f)                         */
#define SYSCTRL_LSE_ANAFLT_Pos            (7UL)                     /*!< ANAFLT (Bit 7)                                        */
#define SYSCTRL_LSE_ANAFLT_Msk            (0x80UL)                  /*!< ANAFLT (Bitfield-Mask: 0x01)                          */
#define SYSCTRL_LSE_MODE_Pos              (6UL)                     /*!< MODE (Bit 6)                                          */
#define SYSCTRL_LSE_MODE_Msk              (0x40UL)                  /*!< MODE (Bitfield-Mask: 0x01)                            */
#define SYSCTRL_LSE_WAITCYCLE_Pos         (4UL)                     /*!< WAITCYCLE (Bit 4)                                     */
#define SYSCTRL_LSE_WAITCYCLE_Msk         (0x30UL)                  /*!< WAITCYCLE (Bitfield-Mask: 0x03)                       */
#define SYSCTRL_LSE_DRIVER_Pos            (0UL)                     /*!< DRIVER (Bit 0)                                        */
#define SYSCTRL_LSE_DRIVER_Msk            (0xfUL)                   /*!< DRIVER (Bitfield-Mask: 0x0f)                          */
/* =========================================================  DEBUG  ========================================================= */
#define SYSCTRL_DEBUG_IWDT_Pos            (9UL)                     /*!< IWDT (Bit 9)                                          */
#define SYSCTRL_DEBUG_IWDT_Msk            (0x200UL)                 /*!< IWDT (Bitfield-Mask: 0x01)                            */
#define SYSCTRL_DEBUG_RTC_Pos             (8UL)                     /*!< RTC (Bit 8)                                           */
#define SYSCTRL_DEBUG_RTC_Msk             (0x100UL)                 /*!< RTC (Bitfield-Mask: 0x01)                             */
#define SYSCTRL_DEBUG_LPTIM_Pos           (6UL)                     /*!< LPTIM (Bit 6)                                         */
#define SYSCTRL_DEBUG_LPTIM_Msk           (0x40UL)                  /*!< LPTIM (Bitfield-Mask: 0x01)                           */
#define SYSCTRL_DEBUG_BTIM123_Pos         (5UL)                     /*!< BTIM123 (Bit 5)                                       */
#define SYSCTRL_DEBUG_BTIM123_Msk         (0x20UL)                  /*!< BTIM123 (Bitfield-Mask: 0x01)                         */
#define SYSCTRL_DEBUG_GTIM1_Pos           (1UL)                     /*!< GTIM1 (Bit 1)                                         */
#define SYSCTRL_DEBUG_GTIM1_Msk           (0x2UL)                   /*!< GTIM1 (Bitfield-Mask: 0x01)                           */
#define SYSCTRL_DEBUG_ATIM_Pos            (0UL)                     /*!< ATIM (Bit 0)                                          */
#define SYSCTRL_DEBUG_ATIM_Msk            (0x1UL)                   /*!< ATIM (Bitfield-Mask: 0x01)                            */
/* =========================================================  AHBEN  ========================================================= */
#define SYSCTRL_AHBEN_KEY_Pos             (16UL)                    /*!< KEY (Bit 16)                                          */
#define SYSCTRL_AHBEN_KEY_Msk             (0xffff0000UL)            /*!< KEY (Bitfield-Mask: 0xffff)                           */
#define SYSCTRL_AHBEN_GPIOB_Pos           (5UL)                     /*!< GPIOB (Bit 5)                                         */
#define SYSCTRL_AHBEN_GPIOB_Msk           (0x20UL)                  /*!< GPIOB (Bitfield-Mask: 0x01)                           */
#define SYSCTRL_AHBEN_GPIOA_Pos           (4UL)                     /*!< GPIOA (Bit 4)                                         */
#define SYSCTRL_AHBEN_GPIOA_Msk           (0x10UL)                  /*!< GPIOA (Bitfield-Mask: 0x01)                           */
#define SYSCTRL_AHBEN_CRC_Pos             (2UL)                     /*!< CRC (Bit 2)                                           */
#define SYSCTRL_AHBEN_CRC_Msk             (0x4UL)                   /*!< CRC (Bitfield-Mask: 0x01)                             */
#define SYSCTRL_AHBEN_FLASH_Pos           (1UL)                     /*!< FLASH (Bit 1)                                         */
#define SYSCTRL_AHBEN_FLASH_Msk           (0x2UL)                   /*!< FLASH (Bitfield-Mask: 0x01)                           */
/* ========================================================  APBEN2  ========================================================= */
#define SYSCTRL_APBEN2_KEY_Pos            (16UL)                    /*!< KEY (Bit 16)                                          */
#define SYSCTRL_APBEN2_KEY_Msk            (0xffff0000UL)            /*!< KEY (Bitfield-Mask: 0xffff)                           */
#define SYSCTRL_APBEN2_LPTIM_Pos          (7UL)                     /*!< LPTIM (Bit 7)                                         */
#define SYSCTRL_APBEN2_LPTIM_Msk          (0x80UL)                  /*!< LPTIM (Bitfield-Mask: 0x01)                           */
#define SYSCTRL_APBEN2_I2C1_Pos           (6UL)                     /*!< I2C1 (Bit 6)                                          */
#define SYSCTRL_APBEN2_I2C1_Msk           (0x40UL)                  /*!< I2C1 (Bitfield-Mask: 0x01)                            */
#define SYSCTRL_APBEN2_IWDT_Pos           (4UL)                     /*!< IWDT (Bit 4)                                          */
#define SYSCTRL_APBEN2_IWDT_Msk           (0x10UL)                  /*!< IWDT (Bitfield-Mask: 0x01)                            */
#define SYSCTRL_APBEN2_BTIM123_Pos        (2UL)                     /*!< BTIM123 (Bit 2)                                       */
#define SYSCTRL_APBEN2_BTIM123_Msk        (0x4UL)                   /*!< BTIM123 (Bitfield-Mask: 0x01)                         */
#define SYSCTRL_APBEN2_RTC_Pos            (1UL)                     /*!< RTC (Bit 1)                                           */
#define SYSCTRL_APBEN2_RTC_Msk            (0x2UL)                   /*!< RTC (Bitfield-Mask: 0x01)                             */
/* ========================================================  APBEN1  ========================================================= */
#define SYSCTRL_APBEN1_KEY_Pos            (16UL)                    /*!< KEY (Bit 16)                                          */
#define SYSCTRL_APBEN1_KEY_Msk            (0xffff0000UL)            /*!< KEY (Bitfield-Mask: 0xffff)                           */
#define SYSCTRL_APBEN1_GTIM1_Pos          (6UL)                     /*!< GTIM1 (Bit 6)                                         */
#define SYSCTRL_APBEN1_GTIM1_Msk          (0x40UL)                  /*!< GTIM1 (Bitfield-Mask: 0x01)                           */
#define SYSCTRL_APBEN1_ATIM_Pos           (5UL)                     /*!< ATIM (Bit 5)                                          */
#define SYSCTRL_APBEN1_ATIM_Msk           (0x20UL)                  /*!< ATIM (Bitfield-Mask: 0x01)                            */
#define SYSCTRL_APBEN1_UART2_Pos          (4UL)                     /*!< UART2 (Bit 4)                                         */
#define SYSCTRL_APBEN1_UART2_Msk          (0x10UL)                  /*!< UART2 (Bitfield-Mask: 0x01)                           */
#define SYSCTRL_APBEN1_UART1_Pos          (3UL)                     /*!< UART1 (Bit 3)                                         */
#define SYSCTRL_APBEN1_UART1_Msk          (0x8UL)                   /*!< UART1 (Bitfield-Mask: 0x01)                           */
#define SYSCTRL_APBEN1_SPI1_Pos           (2UL)                     /*!< SPI1 (Bit 2)                                          */
#define SYSCTRL_APBEN1_SPI1_Msk           (0x4UL)                   /*!< SPI1 (Bitfield-Mask: 0x01)                            */
#define SYSCTRL_APBEN1_VC_Pos             (1UL)                     /*!< VC (Bit 1)                                            */
#define SYSCTRL_APBEN1_VC_Msk             (0x2UL)                   /*!< VC (Bitfield-Mask: 0x01)                              */
#define SYSCTRL_APBEN1_ADC_Pos            (0UL)                     /*!< ADC (Bit 0)                                           */
#define SYSCTRL_APBEN1_ADC_Msk            (0x1UL)                   /*!< ADC (Bitfield-Mask: 0x01)                             */
/* ========================================================  AHBRST  ========================================================= */
#define SYSCTRL_AHBRST_GPIOB_Pos          (5UL)                     /*!< GPIOB (Bit 5)                                         */
#define SYSCTRL_AHBRST_GPIOB_Msk          (0x20UL)                  /*!< GPIOB (Bitfield-Mask: 0x01)                           */
#define SYSCTRL_AHBRST_GPIOA_Pos          (4UL)                     /*!< GPIOA (Bit 4)                                         */
#define SYSCTRL_AHBRST_GPIOA_Msk          (0x10UL)                  /*!< GPIOA (Bitfield-Mask: 0x01)                           */
#define SYSCTRL_AHBRST_CRC_Pos            (2UL)                     /*!< CRC (Bit 2)                                           */
#define SYSCTRL_AHBRST_CRC_Msk            (0x4UL)                   /*!< CRC (Bitfield-Mask: 0x01)                             */
#define SYSCTRL_AHBRST_FLASH_Pos          (1UL)                     /*!< FLASH (Bit 1)                                         */
#define SYSCTRL_AHBRST_FLASH_Msk          (0x2UL)                   /*!< FLASH (Bitfield-Mask: 0x01)                           */
/* ========================================================  APBRST2  ======================================================== */
#define SYSCTRL_APBRST2_LPTIM_Pos         (7UL)                     /*!< LPTIM (Bit 7)                                         */
#define SYSCTRL_APBRST2_LPTIM_Msk         (0x80UL)                  /*!< LPTIM (Bitfield-Mask: 0x01)                           */
#define SYSCTRL_APBRST2_I2C1_Pos          (6UL)                     /*!< I2C1 (Bit 6)                                          */
#define SYSCTRL_APBRST2_I2C1_Msk          (0x40UL)                  /*!< I2C1 (Bitfield-Mask: 0x01)                            */
#define SYSCTRL_APBRST2_IWDT_Pos          (4UL)                     /*!< IWDT (Bit 4)                                          */
#define SYSCTRL_APBRST2_IWDT_Msk          (0x10UL)                  /*!< IWDT (Bitfield-Mask: 0x01)                            */
#define SYSCTRL_APBRST2_BTIM123_Pos       (2UL)                     /*!< BTIM123 (Bit 2)                                       */
#define SYSCTRL_APBRST2_BTIM123_Msk       (0x4UL)                   /*!< BTIM123 (Bitfield-Mask: 0x01)                         */
#define SYSCTRL_APBRST2_RTC_Pos           (1UL)                     /*!< RTC (Bit 1)                                           */
#define SYSCTRL_APBRST2_RTC_Msk           (0x2UL)                   /*!< RTC (Bitfield-Mask: 0x01)                             */
/* ========================================================  APBRST1  ======================================================== */
#define SYSCTRL_APBRST1_GTIM1_Pos         (6UL)                     /*!< GTIM1 (Bit 6)                                         */
#define SYSCTRL_APBRST1_GTIM1_Msk         (0x40UL)                  /*!< GTIM1 (Bitfield-Mask: 0x01)                           */
#define SYSCTRL_APBRST1_ATIM_Pos          (5UL)                     /*!< ATIM (Bit 5)                                          */
#define SYSCTRL_APBRST1_ATIM_Msk          (0x20UL)                  /*!< ATIM (Bitfield-Mask: 0x01)                            */
#define SYSCTRL_APBRST1_UART2_Pos         (4UL)                     /*!< UART2 (Bit 4)                                         */
#define SYSCTRL_APBRST1_UART2_Msk         (0x10UL)                  /*!< UART2 (Bitfield-Mask: 0x01)                           */
#define SYSCTRL_APBRST1_UART1_Pos         (3UL)                     /*!< UART1 (Bit 3)                                         */
#define SYSCTRL_APBRST1_UART1_Msk         (0x8UL)                   /*!< UART1 (Bitfield-Mask: 0x01)                           */
#define SYSCTRL_APBRST1_SPI1_Pos          (2UL)                     /*!< SPI1 (Bit 2)                                          */
#define SYSCTRL_APBRST1_SPI1_Msk          (0x4UL)                   /*!< SPI1 (Bitfield-Mask: 0x01)                            */
#define SYSCTRL_APBRST1_VC_Pos            (1UL)                     /*!< VC (Bit 1)                                            */
#define SYSCTRL_APBRST1_VC_Msk            (0x2UL)                   /*!< VC (Bitfield-Mask: 0x01)                              */
#define SYSCTRL_APBRST1_ADC_Pos           (0UL)                     /*!< ADC (Bit 0)                                           */
#define SYSCTRL_APBRST1_ADC_Msk           (0x1UL)                   /*!< ADC (Bitfield-Mask: 0x01)                             */
/* =======================================================  RESETFLAG  ======================================================= */
#define SYSCTRL_RESETFLAG_SYSRESETREQ_Pos (9UL)                     /*!< SYSRESETREQ (Bit 9)                                   */
#define SYSCTRL_RESETFLAG_SYSRESETREQ_Msk (0x200UL)                 /*!< SYSRESETREQ (Bitfield-Mask: 0x01)                     */
#define SYSCTRL_RESETFLAG_LOCKUP_Pos      (8UL)                     /*!< LOCKUP (Bit 8)                                        */
#define SYSCTRL_RESETFLAG_LOCKUP_Msk      (0x100UL)                 /*!< LOCKUP (Bitfield-Mask: 0x01)                          */
#define SYSCTRL_RESETFLAG_RSTB_Pos        (6UL)                     /*!< RSTB (Bit 6)                                          */
#define SYSCTRL_RESETFLAG_RSTB_Msk        (0x40UL)                  /*!< RSTB (Bitfield-Mask: 0x01)                            */
#define SYSCTRL_RESETFLAG_IWDT_Pos        (4UL)                     /*!< IWDT (Bit 4)                                          */
#define SYSCTRL_RESETFLAG_IWDT_Msk        (0x10UL)                  /*!< IWDT (Bitfield-Mask: 0x01)                            */
#define SYSCTRL_RESETFLAG_LVD_Pos         (3UL)                     /*!< LVD (Bit 3)                                           */
#define SYSCTRL_RESETFLAG_LVD_Msk         (0x8UL)                   /*!< LVD (Bitfield-Mask: 0x01)                             */
#define SYSCTRL_RESETFLAG_POR_Pos         (0UL)                     /*!< POR (Bit 0)                                           */
#define SYSCTRL_RESETFLAG_POR_Msk         (0x1UL)                   /*!< POR (Bitfield-Mask: 0x01)                             */
/* ==========================================================  MCO  ========================================================== */
#define SYSCTRL_MCO_DIV_Pos               (4UL)                     /*!< DIV (Bit 4)                                           */
#define SYSCTRL_MCO_DIV_Msk               (0x70UL)                  /*!< DIV (Bitfield-Mask: 0x07)                             */
#define SYSCTRL_MCO_SOURCE_Pos            (0UL)                     /*!< SOURCE (Bit 0)                                        */
#define SYSCTRL_MCO_SOURCE_Msk            (0xfUL)                   /*!< SOURCE (Bitfield-Mask: 0x0f)                          */


/* =========================================================================================================================== */
/* ================                                            VC                                             ================ */
/* =========================================================================================================================== */

/* ==========================================================  CR0  ========================================================== */
#define VCx_CR0_INN_Pos                   (8UL)                     /*!< NCHANNEL (Bit 8)                                      */
#define VCx_CR0_INN_Msk                   (0x300UL)                 /*!< NCHANNEL (Bitfield-Mask: 0x03)                        */
#define VCx_CR0_INP_Pos                   (6UL)                     /*!< PCHANNEL (Bit 6)                                      */
#define VCx_CR0_INP_Msk                   (0xc0UL)                  /*!< PCHANNEL (Bitfield-Mask: 0x03)                        */
#define VCx_CR0_WINDOW_Pos                (5UL)                     /*!< WINDOW (Bit 5)                                        */
#define VCx_CR0_WINDOW_Msk                (0x20UL)                  /*!< WINDOW (Bitfield-Mask: 0x01)                          */
#define VCx_CR0_POL_Pos                   (4UL)                     /*!< POL (Bit 4)                                           */
#define VCx_CR0_POL_Msk                   (0x10UL)                  /*!< POL (Bitfield-Mask: 0x01)                             */
#define VCx_CR0_IE_Pos                    (3UL)                     /*!< IE (Bit 3)                                            */
#define VCx_CR0_IE_Msk                    (0x8UL)                   /*!< IE (Bitfield-Mask: 0x01)                              */
#define VCx_CR0_HYS_Pos                   (2UL)                     /*!< HYS (Bit 2)                                           */
#define VCx_CR0_HYS_Msk                   (0x4UL)                   /*!< HYS (Bitfield-Mask: 0x01)                             */
#define VCx_CR0_RESP_Pos                  (1UL)                     /*!< RESP (Bit 1)                                          */
#define VCx_CR0_RESP_Msk                  (0x2UL)                   /*!< RESP (Bitfield-Mask: 0x01)                            */
#define VCx_CR0_EN_Pos                    (0UL)                     /*!< EN (Bit 0)                                            */
#define VCx_CR0_EN_Msk                    (0x1UL)                   /*!< EN (Bitfield-Mask: 0x01)                              */
/* ==========================================================  CR1  ========================================================== */
#define VCx_CR1_BLANKLVL_Pos               (17UL)                    /*!< BLANKLVL (Bit 17)                                     */
#define VCx_CR1_BLANKLVL_Msk               (0x20000UL)               /*!< BLANKLVL (Bitfield-Mask: 0x01)                        */
#define VCx_CR1_BLANKTIME_Pos              (14UL)                    /*!< BLANKTIME (Bit 14)                                    */
#define VCx_CR1_BLANKTIME_Msk              (0x1c000UL)               /*!< BLANKTIME (Bitfield-Mask: 0x07)                       */
#define VCx_CR1_BLANKATCH6_Pos             (13UL)                    /*!< BLANKATCH6 (Bit 13)                                   */
#define VCx_CR1_BLANKATCH6_Msk             (0x2000UL)                /*!< BLANKATCH6 (Bitfield-Mask: 0x01)                      */
#define VCx_CR1_BLANKATCH5_Pos             (12UL)                    /*!< BLANKATCH5 (Bit 12)                                   */
#define VCx_CR1_BLANKATCH5_Msk             (0x1000UL)                /*!< BLANKATCH5 (Bitfield-Mask: 0x01)                      */
#define VCx_CR1_BLANKATCH4_Pos             (11UL)                    /*!< BLANKATCH4 (Bit 11)                                   */
#define VCx_CR1_BLANKATCH4_Msk             (0x800UL)                 /*!< BLANKATCH4 (Bitfield-Mask: 0x01)                      */
#define VCx_CR1_BLANKATCH3_Pos             (10UL)                    /*!< BLANKATCH3 (Bit 10)                                   */
#define VCx_CR1_BLANKATCH3_Msk             (0x400UL)                 /*!< BLANKATCH3 (Bitfield-Mask: 0x01)                      */
#define VCx_CR1_BLANKATCH2_Pos             (9UL)                     /*!< BLANKATCH2 (Bit 9)                                    */
#define VCx_CR1_BLANKATCH2_Msk             (0x200UL)                 /*!< BLANKATCH2 (Bitfield-Mask: 0x01)                      */
#define VCx_CR1_BLANKATCH1_Pos             (8UL)                     /*!< BLANKATCH1 (Bit 8)                                    */
#define VCx_CR1_BLANKATCH1_Msk             (0x100UL)                 /*!< BLANKATCH1 (Bitfield-Mask: 0x01)                      */
#define VCx_CR1_HIGHIE_Pos                (7UL)                     /*!< HIGHIE (Bit 7)                                        */
#define VCx_CR1_HIGHIE_Msk                (0x80UL)                  /*!< HIGHIE (Bitfield-Mask: 0x01)                          */
#define VCx_CR1_RISEIE_Pos                (6UL)                     /*!< RISEIE (Bit 6)                                        */
#define VCx_CR1_RISEIE_Msk                (0x40UL)                  /*!< RISEIE (Bitfield-Mask: 0x01)                          */
#define VCx_CR1_FALLIE_Pos                (5UL)                     /*!< FALLIE (Bit 5)                                        */
#define VCx_CR1_FALLIE_Msk                (0x20UL)                  /*!< FALLIE (Bitfield-Mask: 0x01)                          */
#define VCx_CR1_FLTCLK_Pos                (4UL)                     /*!< FLTCLK (Bit 4)                                        */
#define VCx_CR1_FLTCLK_Msk                (0x10UL)                  /*!< FLTCLK (Bitfield-Mask: 0x01)                          */
#define VCx_CR1_FLTTIME_Pos               (0UL)                     /*!< FLTTIME (Bit 0)                                       */
#define VCx_CR1_FLTTIME_Msk               (0xfUL)                   /*!< FLTTIME (Bitfield-Mask: 0x0f)                         */
/* ==========================================================  SR  =========================================================== */
#define VCx_SR_FLTV_Pos                   (1UL)                     /*!< FLTV (Bit 1)                                          */
#define VCx_SR_FLTV_Msk                   (0x2UL)                   /*!< FLTV (Bitfield-Mask: 0x01)                            */
#define VCx_SR_INTF_Pos                   (0UL)                     /*!< INTF (Bit 0)                                          */
#define VCx_SR_INTF_Msk                   (0x1UL)                   /*!< INTF (Bitfield-Mask: 0x01)                            */


/* =========================================================================================================================== */
/* ================                                           VCREF                                           ================ */
/* =========================================================================================================================== */

/* ==========================================================  CR  =========================================================== */
#define VCREF_CR_VIN_Pos                  (5UL)                     /*!< VIN (Bit 5)                                           */
#define VCREF_CR_VIN_Msk                  (0x20UL)                  /*!< VIN (Bitfield-Mask: 0x01)                             */
#define VCREF_CR_EN_Pos                   (4UL)                     /*!< EN (Bit 4)                                            */
#define VCREF_CR_EN_Msk                   (0x10UL)                  /*!< EN (Bitfield-Mask: 0x01)                              */
#define VCREF_CR_DIV_Pos                  (0UL)                     /*!< DIV (Bit 0)                                           */
#define VCREF_CR_DIV_Msk                  (0x7UL)                   /*!< DIV (Bitfield-Mask: 0x07)                             */

/** @} */ /* End of group PosMask_peripherals */


#ifdef __cplusplus
}
#endif

#endif /* __CW32L010_H */


/** @} */ /* End of group CW32L010 */

/** @} */ /* End of group Wuhan Xinyuan Semiconductor Co.Ltd */
